AVPlayer 不在 iOS 模拟器上播放声音

AVPlayer doesn't play sound on iOS Simulator

我想在 iOS 模拟器上用 AVPlayer 播放来自 URL 的音乐,但它不起作用:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    Track *selectedTrack = self.tracksByAlbum[indexPath.row];

    NSLog(selectedTrack.preview);

    NSURL *url = [NSURL URLWithString:[selectedTrack.preview stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    AVPlayer *player = [[AVPlayer alloc] initWithURL:url];

    if (!player) {
        NSLog(@"Error");
    }

    [player play];
}

url 是:

http://cdn-preview-6.deezer.com/stream/6d180c6b61078f437b04ec21bbe0fb76-3.mp3

我读到我必须在 OS X 上启用用户界面音效,但这并没有改变任何东西...

如果您使用的是 ARC,则需要保留 AVAudioPlayer,因为它会自动设置为 nil,这可能是没有声音的原因。在你的头文件中,如果你能确保你的 self.player 的 属性 是这样设置的,

@property (strong, nonatomic) AVPlayer *player;

从您的 didSelectRowAtIndexPath 中将 AVPlayer 代码更改为此

self.player = [[AVPlayer alloc] initWithURL:url];

if (!self.player) {
    NSLog(@"Error");
}

[self.player play];

希望对您有所帮助