当音频播放完成时如何获得确认?

3

我正在使用audioPlayer.Play()在我的应用程序中播放音频。

它正在正确播放。

我找不到音频结束的时间。我想要一个代理方法当音频完成时调用。

请问你能否编写一个音频完成后的方法?


你正在使用MPMoviePlayerController吗? - vaibby
1
请点击此链接以获取帮助:https://dev59.com/QF4c5IYBdhLWcg3wia1P - Subin K Kuriakose
  • (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag; 用于 AVAudioPlayer 的音频播放完成时的回调函数。
- vaibby
不,我并没有使用 MPMoviePlayer,我只是使用了 Audiotoolbox。 - imjaydeep
请参见下面的答案,这可能是您想要实现的。 - Ronak Chaniyara
显示剩余2条评论
2个回答

2
也许用 audiotoolbox 框架不可能实现,但你可以尝试使用 AVAudioPlayer。只需添加以下内容即可尝试:
#import <AVFoundation/AVFoundation.h>

然后使用下面的委托方法来处理音频播放结束时的任何内容:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
   // Audio finished playing
   //handle anything here
}

1
将代理设置为自身。
[myAudioPlayer setDelegate:self];

然后实现

    -(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
  /*Handle Code here*/
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接