AVPlayer 啥都不播放

Posted

技术标签:

【中文标题】AVPlayer 啥都不播放【英文标题】:AVPlayer doesn't play anythingAVPlayer 什么都不播放 【发布时间】:2015-03-27 19:38:05 【问题描述】:

我正在做一些非常简单的事情,只需播放音频。 但它不播放任何东西。不在模拟器或设备上。

音频文件在捆绑中,预览可以播放音频,我也试过不同的音频没有播放。

可能是什么问题?,我是否必须为 avplayer 添加委托方法?(如果这样对我来说没有意义)

我也尝试过不使用 avplayer 项和不同的 nsurl 方法...

#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>

- (void)viewDidLoad 
    [super viewDidLoad];


    NSString *path = [[NSBundle mainBundle] pathForResource:@"JohnsPizza" ofType:@"aiff"];
    //NSURL *assetURL = [[NSBundle mainBundle] URLForResource:@"JohnsPizza" withExtension:@"aiff"];
    NSURL *url = [NSURL fileURLWithPath:path];
    AVPlayer *player = [[AVPlayer alloc] init];
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];
    player = [AVPlayer playerWithPlayerItem:playerItem];
    [player play];

我也尝试过,但没有成功

//    SystemSoundID sound1;
//    AudioservicesCreateSystemSoundID((__bridge CFURLRef)url, &sound1);
//    AudioServicesPlaySystemSound(sound1);
//    AudioServicesRemoveSystemSoundCompletion(sound1);
//    AudioServicesDisposeSystemSoundID(sound1);

【问题讨论】:

为什么不使用 AVAudioPlayer 而不是 AVPlayer? 文件最终将是远程的。加上它是 3 行代码,它应该可以工作...... 只是为了回答原因,因为它没有被保留 【参考方案1】:

你必须保留 AVPlayer 对象,因为它可能会自动设置为 nil

@property (strong, nonatomic) AVPlayer *player;

【讨论】:

以上是关于AVPlayer 啥都不播放的主要内容,如果未能解决你的问题,请参考以下文章

AVPlayer 的音频音量超过 Airplay?

带有 AVPlayer 的 AVAudioSession:当 AVPlayer 播放器正在播放时,状态菜单中的“播放”图标不显示

avplayer 和 wkwebview 视频播放

AVPlayer 视频播放

同时播放两个 AVPlayer 音频文件时出现音频故障

视频没有在 AVPlayer 中播放