Kamcord は、ゲームの動画を撮ってシェアするための SDK(フレームワーク) です。
基本的な使い方
録画は startRecording / stopRecording メソッドを呼ぶだけ。
[Kamcord startRecording];
[Kamcord stopRecording];
で、showView メソッドを呼ぶと、
[Kamcord showView];
下記のような画面が出てきて、録画したプレイ動画のシェア、他プレイヤーの動画の閲覧等ができるようになります。
以上。簡単ですね。
自前UIを使う
ここからはニッチな話になってしまいますが、上記の出来合いのビューを使わず、Kamcord サーバ上にアップされた動画のURLだけ取得してゴニョゴニョ、といったことができるのか、それとも隠蔽されててできないのか、というのを調べてみました。
で、結論としては、可能です。
オフィシャルドキュメント内の下記ページに書かれていて、
Using the Kamcord API: Fully Custom UI
KCCustomUI というクラスを使います。
で、この件についてはドキュメントとかサンプルコードが古い、というかメンテされておらず、Web上でもあまり情報がありません。
このあたりに関して、引っかかった点、わかりにくかった点を以下に箇条書きでまとめておきます。
- KCCustomUI を使用したサンプルの在処と実行方法
- サンプルプロジェクトから CustomUITest クラスのファイルが外されている。
- Custom UIのサンプルを試すには、プロジェクトフォルダ配下の tests/CustomUITest.h,m を改めてプロジェクトに追加し、 ターゲットを作成する必要がある。
- VideoTicketDelegate プロトコルの実装
- AppDelegate のサブクラスを VideoTicketDelegate に指定すると EXC_BAD_ACCESS エラーになる。
- CALayer のサブクラスを VideoTicketDelegate に指定すると問題なくなった。
- 理由/原因は不明。
- 動画URLの取得
- KCVideoTicket クラスの getVideoURL メソッドで得られる URL は、Base URL が省かれている。
- 同クラスの thumbURL プロパティから得られる結果で、Base URL は https://s3.amazonaws.com と判明(実際にこれで動画にアクセスできた)
また何か出てきたら追記します。