AVAudioPlayer与AVPlayer播放音频

本文详细介绍了在iOS应用中使用AVAudioPlayer播放本地音频文件及AVPlayer播放本地与在线音频文件时遇到的问题及解决方法。包括声明全局变量、初始化播放器以及检查关键要素等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做项目需要播放语音,第一种情况是下载到本地进行播放,第二种情况是进行在线播放,在进行播放操作的时候,两种情况都播放失败

AVAudioPlayer *avplayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:_fullPath] error:&playerError]
if (avplayer == nil)
{
NSLog(@"ERror creating player: %@", [playerError description]);
}else{
[avplayer play];
}

从网上查阅各种解决方案,根本原因是AVAudioPlayer和AVPlayer未进行全局变量的声明。

AVAudioPlayer播放本地音乐文件,AVPlayer既可以播放本地音频文件,也可以播放在线音频。

AVAudioPlayer播放本地音频文件

1.声明全局变量

@property(strong,nonatomic)AVAudioPlayer *playermp3 ;

2.初始化播放器

 NSError *playerError;
    _playermp3 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/Users/Charles/Downloads/阴天.mp3"] error:&playerError];

    NSLog(@"-----%f",_playermp3.duration) ;

    if (_playermp3 == nil)
    {
        NSLog(@"ERror creating player: %@", [playerError description]);
    }else{
        [_playermp3 play];
    }

AVPlayer播放本地音频文件

1.声明全局变量

@property(strong,nonatomic)AVPlayer *player12;

2.初始化播放器

 _player12 = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://zhangmenshiting2.baidu.com/data2/music/64298935/64298935.mp3?xcode=000afe29c08dae63713332542ab4d60d7b7ad421455bace9&mid=0.29397861444901"]];

    [_player12 play];

注意:如果播放失败,请注意检查:
1,是否将APlayer 或 AVAudioPlayer声明为全局变量(原因不清楚,在查询);
2,本地音乐文件是否存在,路径是否正确;
3,AVAudioPlayer初始化NSURL时,是否使用的是 fileURLWithPath . (如果错用 URLWithString 也是会造成初始化失败的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值