0

私はこの audioplayer のコードを持っていますが、なぜ 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 の名前を player に設定し、それをチェックしていますが、まだ呼び出されていないようです

オーディオは再生を停止しますが、現在の位置の値は停止しますが、ボタンはまだオーディオがまだ再生モードにあるかのように表示されます。ファイル。

4

2 に答える 2

0

1. を使用せず、 2. オーディオ プレーヤー オブジェクトのデリゲートを設定していないためAVAudioPlayerですAVPlayer

于 2013-04-13T06:08:29.287 に答える