Brightcove iPad iPhone キットは、iOS 3.1 以上の Brightcove コンテンツの再生に対応する、Cocoa/Objective-C ライブラリキットです。
BCMoviePlayerControllerクラスは Apple MPMoviePlayerController クラスを継承しています。これにより動画プレーヤがどのように表示されるかをよりコントロールでき、Apple がデベロッパに提供している機能をより活かすことができます。弊社は、再生エクスペリエンスについてデベロッパが制御できなかった、全画面表示のみのエクスペリエンスを変更しています。BCMoviePlayerController は、MPMoviePlayerController クラスのフローに正しい再生 URL の抽出等を注入しています。Brightcove 独自のメソッドでは、setContentURL:(BCVideo *) 動画、searchForRenditionsBetweenLowBitRate:(int) lowBitRate andHighBitRate:(int) highBitRate、および initWithContentURL:(BCVideo *) 動画 searchForRenditionWithLowBitRate:(NSNumber *) lowBitRate andHighBitRate:(NSNumber *) highBitRate; があります。これらは動画再生を扱う BCPlayer クラスの主なパーツに移植されています。Brightcove のコードと MPMoviePlayerController との相互作用が正しく行われるよう、以下のいずれかのフローにしたがう必要があります。
フロー 1 OS ターゲット:iOS 3.2 以上 説明:このフローは、現在 iPad にのみ搭載されている iOS 3.2 と、現在 iPhone (3G、3GS、4) にのみ搭載されている iOS 4 がターゲットである場合の使用に最も適しています。リンク済みライブラリタイプ:必須
(1) init メソッドでオブジェクトを作成し、他の便宜メソッドを使用しない。
BCMoviePlayerController *player = [[BCMoviePlayerController alloc] init];
(2) searchForRenditionsBetweenLowBitRate:andHighBitRate: メソッドを使用する場合はコンテンツの設定前に呼び出す必要がある。
[player searchForRenditionsBetweenLowBitRate:[NSNumber numberWithInt:200000] andHighBitRate:[NSNumber numberWithInt:300000]];
(3) 最後にコンテンツを設定する。これはプレーヤをビューに追加する前でも追加した後でもよい。
[player setContentURL:myVideo];
// この行を必ずソースに含めること: #import "BCMoviePlayerController.h" BCMoviePlayerController *player = [[BCMoviePlayerController alloc] init]; [player setContentURL:self.video]; // video fetched via the media apis, type is BCVideo CGRect rect = CGRectMake(0.0f, 0.0f, 480.0f, 320.0f); UIView *pView = player.view; [pView setFrame:rect]; [self.view addSubview:player.view];
フロー 2 OS ターゲット:iOS 3.1 以上 説明:このフローでは、実行中の OS バージョンについて実行時チェックを使用することなく、3.1 以上で実行するコードを開発できます。リンク済みライブラリタイプ:Weak
(1) initWithContentURL: searchForRenditionWithLowBitRate: andHighBitRate: メソッドでオブジェクトを作成。200000 - 500000 で検索するデフォルトのビットレートを変更しない場合、最後の 2つのパラメータに対し NIL を渡すことができる。
BCMoviePlayerController *player = [[BCMoviePlayerController alloc] initWithContentURL:self.video searchForRenditionWithLowBitRate:[NSNumber numberWithInt:200000] andHighBitRate:[NSNumber numberWithInt:300000]];
(2) 再生を開始する再生メソッドを呼び出す
[player play];