2013年1月3日木曜日

動画再生させてみる。

前回の記事の続きです。

動画再生をやらせてみます。
動画再生には、2つ方法があるらしくMPMoviePlayerControllerを使うやり方と
AVPlayerを使う方法の2つがあるみたいです。

まだ理解が進んでいないので、とりあえずMPMoviePlayerControllerをつかって動作させてみます。
まずはライブラリの取り込みが必要です。
Frameworkの項目にデータを追加するのですが、きちんとした手順でやらないとだめみたいです。
ダメな例
一番はじめにやってみたのは、frameworkをそのまま追加するやり方
この方法だとリンクまわりがきちんと設定できず、コンパイルエラーになってしまいました。

で、きちんと動く正しいと思われるやり方
1:アプリケーションのプロパティーを開く。
2:Build PhasesのLink Binary With Librariesを選択する。
3:+をクリックして、iOS用のMdiaPlayer.frameworkを選択する。
すると追加ができます。

さて、ViewControllerの部分で、動画の表示をさせたいので、プログラミングをすすめていきます。
まず、ViewController.hの部分でライブラリをimportします。
続いてViewController.mに記述を追加していきます。
1:controllerのpropertyとしてMPMoviePlayerControllerを定義しておく。(local変数として定義するとコントロールできなくなる。)

2:プログラムを記述する。

- (void)viewDidLoad
{
    [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a nib.
    NSURL* url = [NSURL URLWithString:@"http://49.212.39.17/mario/mario.m3u8"];
    self.videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
    self.videoPlayer.view.frame = CGRectMake(0, 0, 320, 240);
    [self.videoPlayer prepareToPlay];
    [self.view addSubview:self.videoPlayer.view];

    UILabel* label = [[UILabel alloc] init];
    label.text = @"aiueo";
    [label sizeToFit];
    [self.view addSubview:label];
}

urlで適当なhttpLiveStreamingのデータを指定
で、それを利用して、MPMoviePlayerControllerを作成。
viewのframeのところに適当なサイズを指定して、動作するようにした後に
videoPlayerのprepareToPlayメソッドを呼び出して準備させる。
viewに結びつけてデータを表示するようにする。
で完成


コメントがながれるようにしたいので、labelを上に載せてみた。問題なさそうですね。

あとはurlスキーム対応やったり、webSocketあたりでリアルタイムでコメント追記できるようにやったり、コメントをtwitterに投稿できるようにやったり、srtファイルを字幕として取り込めるようにやったりすれば、いい感じのアプリがつくれないこともなさそう。

0 件のコメント:

コメントを投稿