Sop*_*man 1 iphone avfoundation ios swift
我正在使用AVFoundation框架在swift中编写一个简单的播放器.除了我的播放器一遍又一遍地播放同一首歌之外,一切似乎都在起作用.我的播放列表中只有一首歌,所以这很有道理.我要做的是检查audioPlayerDidFinishPlaying标志,以确保它已完成播放,然后我会让它停止.我不确定如何实现调用以获取此处的标志是我的代码.
mp3Player?.play()
**if (mp3Player?.audioPlayerDidFinishPlaying:successfully) {**
mp3Player?.stop()
}
Run Code Online (Sandbox Code Playgroud)
在目标c中获取标志的正确方法是:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
NSLog(@"audioPlayerDidFinishPlaying");
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释如何在SWIFT中实现相同的功能吗?这是我在SWIFT的第一个项目.我尝试在SWIFT中阅读有关void函数的内容,但没有运气.
我得到的错误是无法将'AVAudioPlayer.Type'类型的值转换为预期的参数类型'AVAudioPlayer'
您可以在开始播放音频numberOfLoops
设置时进行交叉检查,0
并delegate
设置为self
播放器正在播放的控制器.
mp3Player?.numberOfLoops = 0
mp3Player?.delegate = self
Run Code Online (Sandbox Code Playgroud)
在同一个类中实现如下所示的delegate
方法AVAudioPlayer
.
func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) {
//You can stop the audio
player.stop()
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3722 次 |
最近记录: |