我使用 AVPlayer 仅播放 mp3 音频文件。我正在使用我测试过的网址并且工作正常。我需要使用 AVPlayer,因为我需要以编程方式设置 UISlider,而且 AVPlayer 很方便。UISlider 在音频播放时工作和更新。音频可能正在播放,但我听不到声音。我这样说是因为 UISlider 正在工作。
更新:在模拟器上构建应用程序时,您可以听到音频。在设备上构建时出现问题 - 我的是 XS MAX。
屏幕录制链接 -> 访问:https ://streamable.com/nkbn8
我试过在 AVAudioPlayer 和音频播放中使用相同的 URL,你可以听到它。
private func setupAudioContent() {
let urlString = "https://s3.amazonaws.com/kargopolov/kukushka.mp3"
if let url = NSURL(string: urlString) {
audioPlayer = AVPlayer(url: url as URL)
let playerLayer = AVPlayerLayer(player: audioPlayer)
self.layer.addSublayer(playerLayer)
playerLayer.frame = self.frame
audioPlayer?.play()
audioPlayer?.volume = 1.0
audioPlayer?.addObserver(self, forKeyPath: "currentItem.loadedTimeRanges", options: .new, context: nil)
let interval = CMTime(value: 1, timescale: 2)
audioPlayer?.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main, using: { …Run Code Online (Sandbox Code Playgroud) 我想在我的iphone上播放系统声音,声音在模拟器中播放得非常好,但在设备上无法正常工作.
- (IBAction)SystemSound:(id)sender {
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"waterfall" ofType:@"caf"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundFileURL, &systemSound);
AudioServicesPlaySystemSound(systemSound);
}
Run Code Online (Sandbox Code Playgroud)