AVAudioPlayer与AVPlayer播放音频

作者: CharlesAn | 来源:发表于2017-06-01 09:33 被阅读138次

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

    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 也是会造成初始化失败的)

    相关文章

      网友评论

        本文标题:AVAudioPlayer与AVPlayer播放音频

        本文链接:https://www.haomeiwen.com/subject/kkpsfxtx.html