gpt4 book ai didi

iphone - AVAudioPlayer 只用一些文件初始化

转载 作者:行者123 更新时间:2023-12-03 21:23:34 31 4
gpt4 key购买 nike

我在使用 AVAudioPlayer 播放某些文件时遇到问题。当我尝试播放某个 m4a 时,效果很好。它也适用于我尝试过的 mp3。然而,无论我尝试播放它们的顺序如何,它每次都会在一个特定的 mp3 上失败(Radiohead 的 15 Step)。尽管 View 加载和同时发生的所有事情都正确发生,但音频无法播放。代码如下。我得到“播放器已加载”。记录其他两首歌曲的输出,但不记录 15 Step 的输出。我知道文件路径是正确的(我已经在应用程序中早些时候输出了它的日志,并且它是正确的)。有什么想法吗?

NSData *musicData = [NSData dataWithContentsOfURL:[[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:[song filename] ofType:nil]]];

NSLog([[NSBundle mainBundle] pathForResource:[song filename] ofType:nil]);
if(musicData)
{
NSLog(@"File found.");
}

self.songView.player = [[AVAudioPlayer alloc] initWithData:musicData error:nil];

if(self.songView.player)
{
NSLog(@"Player loaded.");
}

[self.songView.player play];
NSLog(@"You should be hearing something now.");

最佳答案

抱歉这么晚才参加聚会。只是想发布一个提示,以便将来对任何引用此内容的人都有用。

shaggy frog 的小修正的回答。正确的用法是:

NSError *anError = nil;
anAVAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:someURL] error:&anError];
if (!anAVAudioPlayer) {
NSLog(@"localizedDescription : %@", [anError localizedDescription]);
}

关于iphone - AVAudioPlayer 只用一些文件初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625120/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com