以前のファイル(変数に保存されているファイル)からMP3
渡されたファイルを再生しようとしています。UIView
UIView
NSURL *fileURL
私はで初期化しAVPlayer
ています:
player = [AVPlayer playerWithURL:fileURL];
NSLog(@"Player created:%d",player.status);
私が考えたNSLog
プリントPlayer created:0,
は、まだプレイする準備ができていないことを意味します。
再生UIButton
をクリックすると、実行するコードは次のようになります。
-(IBAction)playButtonClicked
{
NSLog(@"Clicked Play. MP3:%@",[fileURL absoluteString]);
if(([player status] == AVPlayerStatusReadyToPlay) && !isPlaying)
// if(!isPlaying)
{
[player play];
NSLog(@"Playing:%@ with %d",[fileURL absoluteString], player.status);
isPlaying = YES;
}
else if(isPlaying)
{
[player pause];
NSLog(@"Pausing:%@",[fileURL absoluteString]);
isPlaying = NO;
}
else {
NSLog(@"Error in player??");
}
}
これを実行すると、常にError in player??
コンソールにアクセスします。ただし、再生の準備ができてif
いるかどうかを確認する条件をAVPlayer
単純なif(!isPlaying)
...に置き換えると、音楽は2回目に再生されます。再生をクリックしますUIButton
。
コンソールログは次のとおりです。
Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
Playing:http://www.nimh.nih.gov/audio/neurogenesis.mp3 **with 0**
Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
Pausing:http://www.nimh.nih.gov/audio/neurogenesis.mp3
Clicked Play. MP3:http://www.nimh.nih.gov/audio/neurogenesis.mp3
2011-03-23 11:06:43.674 Podcasts[2050:207] Playing:http://www.nimh.nih.gov/audio/neurogenesis.mp3 **with 1**
2番目の時間はplayer.status
1を保持しているように見えますが、これは推測ですAVPlayerReadyToPlay
。
初めてプレイをクリックしたときにプレイを正しく機能させるにはどうすればよいUIButton
ですか?AVPlayer
(つまり、が作成されただけでなく、プレイする準備ができていることを確認するにはどうすればよいですか?)