この前の記事はテストをするということでした。
今回はゲームによって任意のタイミングでEveryplay の録画を開始し、終了するということを実装します。これにより動画にして面白い部分だけを録画することができます。また録画されたくないところを制御するということができます。
まずは以前は 有効にしておいたEnable test buttons のチェックを外します。これで自動でテスト用のウィンドウが開かなくなります。
Everyplay の設定はクライアントID、クライアントシークレット、リダイレクトURLとプラットフォームをどれにするかというものを入力している状態になっているはずです。
Everyplay の実装は機能をサポートしているか確認、撮影開始、撮影終了、動画確認といったものを入れれば完了です。実装すべきものは以下で赤字にしてあります。
デリゲートを使ってEveryplayの初期化とサポート端末かのチェックが終了したことのイベントを受け取ります。
Everyplay.ReadyForRecording += ReadyForRecording;
上ではvoid ReadyForRecording(bool bReady); という関数を渡しています。Everyplay の初期化等が終わったタイミングでReadyForRecording に引数が渡されて呼ばれるようになります。
ReadyForRecording 内で機能をサポートしている端末かどうかの判定を行い、どこかにEveryplayが使えるということを保存しておけば良いと思います。
わかりづらいと思うので初期化の部分を例として挙げておきます。あとはEveryplay が有効であったら、動画の撮影処理を呼び出せばいいだけです。
動画の撮影を始めたいところでEveryplay.StartRecording(); を呼びます。これが呼ばれてからEveryplay.StopRecording(); を呼ぶまで撮影が行われます。
Everyplay.StartRecording(); とEveryplay.StopRecording(); をセットで呼び終えたら、動画の投稿処理を行います。投稿処理といってもEveryplay.ShowSharingModal(); を呼ぶだけです。ボタンを押してからこの関数を呼んでも良いですし、処理の流れで呼んでもかまいません。
これで一通りの実装が終了になります。
Everyplay.ShowSharingModal(); を呼ぶと、動画を投稿するためのダイアログが画面に重なって表示されます。ユーザーがこのダイアログ上でSNS の選択をするなどして動画を投稿することができます。
一度はこのドキュメントに目を通してみてください。足りないところ古いところがありますが、機能的な解説は十分されています。
コメント