gpt4 book ai didi

ios - AVAudioplayer 无法在 iOS 5 中播放 iPod 库中的歌曲

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:50 29 4
gpt4 key购买 nike

我正在使用 AVAudioPlayer 创建一个 iPhone 应用程序。它在 iOs 6 设备上运行良好。但在 iOs 5 及更低版本中,它无法播放 iPod 库中的歌曲。当我尝试播放来自 NSBundle 的音乐文件时,它正在运行,所以只有当我尝试播放 iPod 库中的歌曲时才会出现问题。这是我的代码,请检查

if (isPlaying) {
[audioPlayer stop];
isPlaying = NO;
}

extern NSMutableArray *songsUrlArray;
extern int selectedSongIndex;

audioPlayer.volume = 1.0;

NSString *urlString = [NSString stringWithFormat:@"%@",[songsUrlArray objectAtIndex:selectedSongIndex]];
NSURL *url = [NSURL URLWithString:urlString];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
audioPlayer.delegate = self;
audioPlayer.numberOfLoops = 0;

if (audioPlayer == nil)
NSLog(@"%@",[error description]);
else{
[audioPlayer play];
isPlaying = YES;
}

编辑:

这是我得到的错误信息,

Error Domain=NSOSStatusErrorDomain Code=-43 "The operation couldn’t be completed. (OSStatus error -43.)"

当我用谷歌搜索时,我发现当指定路径中没有可用内容时,出现 OSStatus error -43。这是 3GS 设备中 iPod 库中歌曲的路径,ipod-library://item/item.mp3?id=564371652689620079。但它没有播放。请一些请帮忙

最佳答案

AVAudioPlayer 仅在 iOS6 中获得了对 iPod URL 的支持。如果您想支持目标 iOS6 之前的设备,则必须使用 AVPlayer 或 AVQueuePlayer。

https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS6.html#//apple_ref/doc/uid/TP40011812-SW1

关于ios - AVAudioplayer 无法在 iOS 5 中播放 iPod 库中的歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13560039/

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