我有這audioplayer片段的代碼,我不知道爲什麼audioPlayerDidFinishPlaying沒有被執行。爲什麼不是不執行audioPlayerDidFinishPlaying
下面是代碼的一部分,從我的audioplayer.m文件
- (void)viewDidLoad {
[super viewDidLoad];
NSError* e = nil;
self.player = [[AVPlayer alloc] initWithURL:self.contentURL];
if(e)
{
NSLog(@"Detected error(%@)",e);
}
[self.playButton setImage:[UIImage imageNamed :@"Pause_40_40.png"] forState:UIControlStateNormal] ;
[self.playButton addTarget:self action:@selector(stop) forControlEvents:UIControlEventTouchUpInside];
isPlaying = true;
//Title of Music Screen
//self.title = titleOfTheSong;
//self.title = @"A Fixed Title";
MPVolumeView * volmueView = [[MPVolumeView alloc] initWithFrame:CGRectMake(60, 323, 200, 23)];
volmueView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
[self.view addSubview:volmueView];
[[AVAudioSession sharedInstance] setDelegate:self];
e = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&e];
NSLog(@"Error: %@", e);
posUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:.1 target:self selector:@selector(timeCounterUpdate) userInfo:self.player repeats:YES];
[self timeCounterUpdate2:self.positionSlider.value];
[self.player play];
}
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
NSLog(@"Finished");
if (flag == NO){
return;
}
[self.player pause];
[self.navigationController popViewControllerAnimated:YES];
}
我在viewDidLoad中的avplayer的名字爲球員,然後檢查對抗,但它似乎仍然沒有被稱爲
音頻停止播放,但似乎仍在運行當前位置值停止 但按鈕仍然顯示,如果我暫停它,然後播放它的當前位置音頻仍然在播放模式繼續計數通過了文件的預期結束。
如果您已經更加重視正確編寫代碼,那麼您甚至不會有這個問題......您似乎甚至不知道要使用哪個類...... – 2013-04-13 06:09:52
謝謝您的支持反饋我正在嘗試利用某個人不在這裏的已有代碼。請給我一個關於我如何修復的例子。對於iPhone的編程,我很抱歉。 –
哦,對不起......好吧。如果您只想播放音頻文件,則必須使用'AVAudioPlayer'。另外,正如我剛剛在我的答案中所肯定的那樣,您必須設置其委託(否則不會調用委託方法)。 – 2013-04-13 06:24:02