XR8.MediaRecorder.configure()
XR8.MediaRecorder.configure({ coverImageUrl, enableEndCard, endCardCallToAction, footerImageUrl, foregroundCanvas, maxDurationMs, maxDimension, shortLink, configureAudioOutput, audioContext, requestMic })
概要
MediaRecorderの各種パラメータを設定します。
パラメータ
パラメータ | タイプ | デフォルト | 説明 |
---|---|---|---|
coverImageUrl [Optional] | String | プロジェクトで設定されたカバー画像、もしくは null | 表紙画像の画像ソースです。 |
enableEndCard [Optional] | String | false | trueの場合、エンドカードを有効にします。 |
endCardCallToAction [Optional] | String | 'Try it at: ' | コールトゥアクションのテキスト文字列を設定します。 |
fileNamePrefix [Optional] | String | 'my-capture-' | ファイル名の先頭に固有のタイムスタンプを付加する文字列を設定します。 |
footerImageUrl [Optional] | String | null | 表紙画像の画像ソースです。 |
foregroundCanvas [Optional] | String | null | 録画されたビデオの前景として使用するキャンバスです。 |
maxDurationMs [Optional] | Number | 15000 | 動画の最大時間(ミリ秒単位)です。 |
maxDimension [Optional] | Number | 1280 | キャプチャされた録画の最大寸法(ピクセル単位)です。 |
shortLink [Optional] | String | プロジェクトダッシュボードからの8th.ioのショートリンク | ショートリンクのテキスト文字列を設定します。 |
configureAudioOutput [Optional] | Object | null | microphoneInput およびaudioProcessor オーディオノードを受け取り、録音の音声を完全に制御するユーザー提供する関数です。 オーディオプロセッサーノードに接続されたノードは、録音オーディオの一部となります。 ユーザーのオーディオグラフのエンドノードを返す必要があります。 |
audioContext [Optional] | String | null | ユーザー提供の AudioContext インスタンスです。 three.jsやBABYLON.jsのようなエンジンは、独自の内部オーディオインスタンスを持っています。 録音にこれらのエンジンで定義されたサウンドを含めるには、それらのAudioContext インスタンスを提供する必要があります。 |
requestMic [Optional] | String | 'auto' | オーディオ権限を要求するタイミングを指定します。 オプションはXR8.MediaRecorder.RequestMicOptions で提供されます。 |
configureAudioOutput
に渡される関数は、以下のパラメータを持つオブジェクトを受け取ります。
パラメータ | 説明 |
---|---|
microphoneInput | ユーザーのマイク入力を含むGainNode``です。 ユーザーの許可が下りない場合、このノードはマイク入力を出力しませんが、存在し続けます。 |
audioProcessor | レコーダーにオーディオデータを渡すScriptProcessorNode です。 オーディオノードを録音の音声出力の一部にしたい場合は、audioProcessorに接続する必要があります。 |
戻り値
なし
例
XR8.MediaRecorder.configure({
maxDurationMs: 15000,
enableEndCard: true,
endCardCallToAction: 'Try it at:',
shortLink: '8th.io/my-link',
})
例)ユーザー設定による音声出力
const userConfiguredAudioOutput = ({microphoneInput, audioProcessor}) => {
const myCustomAudioGraph = ...
myCustomAudioSource.connect(myCustomAudioGraph)
microphoneInput.connect(myCustomAudioGraph)
// オーディオグラフエンドノードをハードウェアに接続します。
myCustomAudioGraph.connect(microphoneInput.context.destination)
// オーディオグラフは自動的にプロセッサに接続されます。
return myCustomAudioGraph
}
const threejsAudioContext = THREE.AudioContext.getContext()
XR8.MediaRecorder.configure({
configureAudioOutput: userConfiguredAudioOutput,
audioContext: threejsAudioContext,
requestMic: XR8.MediaRecorder.RequestMicOptions.AUTO,
})