録音をダウンロードする
このコード・スニペットでは、録画をダウンロードする方法を説明します。
例
サンプルコードの以下の変数を置き換える:
| キー | 説明 |
|---|---|
VOICE_RECORDING_URL | The URL of the recording to download. You typically get this from the JSON response received on the |
前提条件
ターミナル・プロンプトで以下のコマンドを実行し、認証用のJWT を作成する:
export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)コードを書く
download-a-recording.sh に以下を追加する:
curl $VOICE_RECORDING_URL \
-H "Authorization: Bearer $JWT" \
--output recording.mp3コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
npm install @vonage/server-clientdownload-a-recording.js という名前のファイルを作成し、以下のコードを追加する:
const { FileClient } = require('@vonage/server-client');
const fileClient = new FileClient({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});コードを書く
download-a-recording.js に以下を追加する:
fileClient.downloadFile(
VOICE_RECORDING_URL,
VOICE_RECORDING_DESTINATION,
)
.then(() => console.log(`File Downloaded to ${VOICE_RECORDING_DESTINATION}`))
.catch((error) => console.error(error));コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
build.gradle に以下を追加する:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'DownloadRecording という名前のファイルを作成し、main メソッドに以下のコードを追加する:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}コードを書く
DownloadRecording ファイルのmain メソッドに以下を追加する:
val destination = Paths.get("/Users/me123/Downloads")
client.voice.downloadRecording(VOICE_RECORDING_URL, destination)コードを実行する
Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''以下のgradle コマンドを実行し、com.vonage.quickstart.kt.voice をDownloadRecording を含むパッケージに置き換えてアプリケーションを実行する:
前提条件
build.gradle に以下を追加する:
implementation 'com.vonage:server-sdk:9.3.1'DownloadRecording という名前のファイルを作成し、main メソッドに以下のコードを追加する:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();コードを書く
DownloadRecording ファイルのmain メソッドに以下を追加する:
/*
* A recording webhook endpoint which automatically downloads the specified recording to a file in the
* current working directory, called "downloaded_recording.mp3"
*/
Route downloadRoute = (req, res) -> {
EventWebhook event = EventWebhook.fromJson(req.body());
String recordingUrl = event.getRecordingUrl().toString();
Path recordingFile = Paths.get("downloaded_recording.mp3");
System.out.println("Downloading from " + recordingUrl);
client.getVoiceClient().saveRecording(recordingUrl, recordingFile);
return "OK";
};
Spark.port(3000);
Spark.post("/recording", downloadRoute);コードを実行する
Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''以下のgradle コマンドを実行し、com.vonage.quickstart.voice をDownloadRecording を含むパッケージに置き換えてアプリケーションを実行する:
前提条件
Install-Package Vonageコードを書く
GetRecording.cs に以下を追加する:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);
var response = await client.VoiceClient.GetRecordingAsync(VOICE_RECORDING_URL);前提条件
composer require vonage/clientコードを書く
index.php に以下を追加する:
require_once __DIR__ . '/../../vendor/autoload.php';
$keypair = new \Vonage\Client\Credentials\Keypair(file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH), VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);
$recordingUrl = 'https://api.nexmo.com/v1/files/'.VONAGE_RECORDING_ID;
$data = $client->voice()->getRecording($recordingUrl);
file_put_contents(VONAGE_RECORDING_ID .'.mp3', $data->getContents());コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
pip install vonage python-dotenvコードを書く
get-recording.py に以下を追加する:
from vonage import Auth, Vonage
client = Vonage(
Auth(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_PRIVATE_KEY,
)
)
client.voice.download_recording(VOICE_RECORDING_URL, 'recording.mp3')コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
gem install vonageコードを書く
download-a-recording.rb に以下を追加する:
client = Vonage::Client.new(
application_id: VONAGE_APPLICATION_ID,
private_key: VONAGE_PRIVATE_KEY
)
response = client.files.save(VOICE_RECORDING_URL, 'recording.mp3')コードを実行する
このファイルをあなたのマシンに保存し、実行する:
試してみる
録画ファイルをダウンロードするには、録画URLが必要です。通常、これは /webhooks/recordings エンドポイント record アクションは 通話録音別の呼び出しに接続する、といった具合だ。典型的なJSONレスポンスは以下のようなものである:
{'conversation_uuid': 'CON-ddddaaaa-bbbb-cccc-dddd-0123456789de',
'end_time': '2018-08-10T11:19:31Z',
'recording_url': 'https://api.nexmo.com/v1/files/aaaaaaaa-bbbb-cccc-dddd-0123456789ab',
'recording_uuid': 'ccccaaaa-dddd-cccc-dddd-0123456789ab',
'size': 162558,
'start_time': '2018-08-10T11:18:51Z',
'timestamp': '2018-08-10T11:19:31.744Z'}
1.2.3.4 - - [10/Aug/2018 11:19:31] "POST /webhooks/recordings HTTP/1.1" 200 -
スクリプトを実行すると、録画URLにある録画がダウンロードされます。 にある録音がダウンロードされます。その後、録音を聴くことができます。
さらに読む
- トランスクリプション - このガイドでは、Amazon Transcribe APIを使って、Vonage Voice APIで録音した電話での会話を書き起こす方法を紹介します。