出版するプリフライトとパーミッション
このガイドを使用して、公開を開始する前に権限と機能を検証し、ユーザーがスムーズに体験できるようにします。ローカルの動画をプレビューし、カメラ/マイクの許可状態を確認し、クライアントが公開できることを確認します。
ストリーミング前のプレビュー
デフォルトでは、Publisherビューはストリーミング開始時にローカルプレビューを表示します。また、公開前に明示的にプレビューをレンダリングすることもできます:
パブリッシャがストリーミングを開始する前にビデオのプレビューを表示するには startPreview() メソッドを呼び出します:
を呼び出すと startPreview() メソッドを呼び出す必要があります。 destroy() メソッドを使用して、パブリッシャーのビュー(および動画)を削除します。 onStreamDestroyed(PublisherKit publisher, Stream stream) PublisherListenerのメソッドが呼び出される)。
カメラへのアクセスをチェックする
公開前にカメラのアクセス許可を確認し、必要であればアクセスを可能にするようユーザーを誘導することをお勧めします。
を呼び出すことで、このプロンプトが表示されるタイミングを制御できます。 AVCaptureDevice requestAccess(for:completionHandler:) と AVMediaType.Videoこれは、最初の実行時にプロンプトを表示する。それ以降の呼び出しでは、ユーザーが保存したプリファレンスで完了ハンドラが実行される。
を呼び出すことで、このプロンプトが表示されるタイミングを制御できます。 [AVCaptureDevice requestAccessForMediaType:completionHandler:] と AVMediaTypeVideoこれは、最初の実行時にプロンプトを表示する。それ以降の呼び出しでは、ユーザーが保存したプリファレンスで完了ハンドラが実行される。
パブリッシュ機能のチェック
セッションに接続した後、クライアントがパブリッシュできるかどうかを確認できます。
セッションに接続したら、クライアントがパブリッシュできるかどうかをチェックできます。セッションへの参照を OTSession オブジェクトを呼び出し getCapabilites() メソッドの sessionConnected イベントハンドラを返します。このメソッドは canPublish プロパティを指定します。そして、その値に基づいて条件付きでパブリッシュすることができます:
import React, {Component} from 'react';
import {View} from 'react-native';
import {OTSession, OTPublisher, OTSubscriber} from 'opentok-react-native';
class App extends Component {
constructor(props) {
super(props);
this.apiKey = 'your API key';
this.sessionId = 'a session ID';
this.token = 'a valid token';
this.state = {canPublish: false};
this.sessionEventHandlers = {
sessionConnected: event => {
this.connectionCount++;
this.session.getCapabilities().then(capabilities => {
this.setState({canPublish: capabilities.canPublish});
});
},
};
}
render() {
return (
<View
<OTSession
applicationId={this.apiKey}
sessionId={this.sessionId}
token={this.token}
ref={instance => {
this.session = instance;
}}
eventHandlers={this.sessionEventHandlers}>
{this.state.canPublish ? (
<OTPublisher/>
) : null}
<OTSubscriber/>
</OTSession>
</View>
);
}
}
export default App;
パブリッシュするには、クライアントはトークンでセッションに接続しなければならない。 役割 出版をサポートする。
の値をチェックする。 capabilities.publish プロパティの Session オブジェクトを公開することができます。これが1に設定されている場合、クライアントはパブリッシュできる:
if (session.capabilities.publish == 1) {
// The client can publish. See the next section.
} else {
// The client cannot publish.
// You may want to notify the user.
}
パブリッシュするには、クライアントはパブリッシュをサポートするロールが割り当てられたトークンでセッションに接続する必要があります。また、カメラとマイクが接続されている必要があります。また、クライアントの環境がパブリッシングをサポートしている必要があります ( ブラウザサポート).
また、公開はHTTPSページでのみサポートされています。
の値をチェックする。 OTSession capablilites.canPublish プロパティにこれが trueクライアントはパブリッシュできる:
公開するには、クライアントは公開をサポートするロールが割り当てられたトークンでセッションに接続する必要があります。詳細は トークン作成の概要.
の値をチェックする。 [OTSession.capablilites.canPublish:] プロパティにこれが YESクライアントはパブリッシュできる:
公開するには、クライアントは公開をサポートするロールが割り当てられたトークンでセッションに接続する必要があります。詳細は トークン作成の概要.
プリフライトが完了したら、デバイスと品質を設定するには、次の手順に進みます。 公開する設定とデバイス.