2011-07-15 28 views
1

私はアニメーションビデオとそれに対応するサウンドを再生する必要があるゲームアプリケーションを構築しています(状況によって異なる場合があります)。私はすべてのビデオとサウンドファイルを用意していますが、同時に再生することはできません。私はビデオとAVFoundationフレームワークのオーディオを再生するMPMoviePlayerを使用しています。とにかくこれらを同時に実行するのですか?ビデオ用のiPhone:オーディオとビデオを同時に再生

:サウンドの

 MPMoviePlayerViewController *videoController = [[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:[cellDetails objectForKey:@"AVFile"]]] autorelease]; 
     [self presentMoviePlayerViewControllerAnimated:videoController]; 

// Instantiates the AVAudioPlayer object, initializing it with the sound 
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil]; 
self.appSoundPlayer = newPlayer; 
[newPlayer release]; 

[appSoundPlayer prepareToPlay]; 

appSoundPlayer.numberOfLoops = -1; 
[appSoundPlayer setVolume: self.soundLevel]; 
[appSoundPlayer setDelegate: self]; 
[appSoundPlayer play]; 

感謝。

+0

どのようにAVFoundationを使用しているかによって異なります。いくつかのコードを投稿したいですか? –

+0

編集した質問をご覧ください。ありがとう! – applefreak

答えて

1

私は個人的にAVPlayerルートに行きます。私はあなたがおそらくMPMoviePlayerViewControllerとAVAudioPlayerを使いたいと思っていますが、AVPlayerを使ってAVMutableCompositionに少しだけ時間を投資すれば、あなたが試していることをもっとやることができます。それは投資価値があります。

つまり、トラックを含むAVMutableComposition(「アセット」とも呼ばれます)を設定します。これらのトラックは、オーディオトラックとビデオトラックに対応しています。トラックは、他のファイルの全部または一部から引き出すことができます。また、空のオーディオ/ビデオトラック部分を希望どおりに挿入することもできます。あなたは、ビデオトラックと別のオーディオトラック上の任意の数のオーディオファイルにビデオを配置します。次に、AVMutableCompositionを使用してAVPlayerオブジェクトを作成し、 "再生"メッセージを呼び出します。すべての同期を非常に正確に行います。

This post実際にはサンプルコードがありますが、まだ正しく動作しているかどうかはわかりません。

+0

ありがとうございます。私はそれが良い考えだと思う! – applefreak

0

AVMutableVideoCompositionを試すことができます。 this thingをご覧になり、何か助けが必要な場合はお知らせください。私は喜んで助けてくれるでしょう。

関連する問題