美文网首页
iOS ~ AVPlayer 音频播放

iOS ~ AVPlayer 音频播放

作者: 阳光下的叶子呵 | 来源:发表于2021-09-17 12:34 被阅读0次
  • 直接代码:
- (void)playsoundAction:(NSString *)soundWord {
    // 播放声音
    
    if (self.textField.text.length > 0) {
        soundWord = self.textField.text;
    } else {
        [KAlertViewFactory showToastWithMessage:@"无法读取该单词"];
        return;
    }
    // 如果是其他字符串,可以先编码,之后在拼接完成,最后使用
//    NSString  *newUrlString = [contentStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//    NSString * soundAddress = [NSString stringWithFormat:@"https://fanyi.baidu.com/gettts?lan=zh&text=%@&spd=5&source=web",newUrlString];
//    [[WL_Tool getInstance] SoundPlayer:soundAddress];
    NSString *soundUrl = [NSString stringWithFormat:@"https://fanyi.baidu.com/gettts?lan=zh&text=%@&spd=3&source=wise", soundWord];
    // 需要编码:转换成网址格式,以免不是正常网址,造成错误
    NSString *urlStr = [soundUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    [[WL_Tool getInstance] SoundPlayer:urlStr];
    
}
  
  • 调用的方法:拿到音频(这里获取的是.mp3格式的音频,直接播放,退出页面时,停止播放)
//声音播放
-(void)SoundPlayer:(NSString *)strUrl;
{
    [[WL_AFShareManager sharedManagerReturnData] GET:strUrl parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        //请求成功返回数据 根据responseSerializer 返回不同的数据格式
        NSLog(@"%@",task.currentRequest.URL);
        [SVProgressHUD dismiss];
        self.player=[[AVAudioPlayer alloc]initWithData:responseObject error:nil];
        if ([self.player prepareToPlay] &&[self.player play])
        {
            //成功播放音乐
        }
        
        //设置锁屏仍能继续播放
        [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:nil];
        [[AVAudioSession sharedInstance] setActive: YES error: nil];
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        //请求失败
        NSLog(@"%@",task.currentRequest.URL);
        NSLog(@"error-->%@",error);
        [SVProgressHUD dismiss];
        
    }];
}

// 声音停止播放
- (void)SoundStop {
    [self.player stop];
}

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    if (self.toolBlock !=nil) {
        self.toolBlock(0);
    }
}

- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError * __nullable)error
{
    NSLog(@"%@",error.mj_JSONString);
}

相关文章

  • iOS音频篇-AVPlayer

    iOS音频篇:使用AVPlayer播放网络音乐 iOS音频篇:AVPlayer的缓存实现

  • iOS 音频

    iOS 音频播放 本地音频文件 AVPlayer / AVAudioPlayer 在线音频流 AVPlayer i...

  • iOS音频播放

    ·iOS系统中的音频播放方式·AVAudioPlayer、AVPlayer、系统声音、音频队列 ·AVAudioP...

  • 用AVPlayer写音乐播放器

    iOS提供了几种播放音频的方式:AudioToolbox 、AVAudioPlayer、AVPlayer。 Aud...

  • iOS 边下载边播放、支持多点下载播放器

    一、MPMoviePlayerController 和 AVPlayer 简介 iOS 9 之前通常播放音频、视频...

  • iOS-音频播放

    1 iOS的播放音频方式: 1 AVAudioPlayer(只支持本地音乐播放)2 AVPlayer (既支持本地...

  • iOS使用AVPlayer自定义视频播放器

    上一篇:iOS使用AVPlayer自定义音频播放器iOS内部提供的有三种视频播放的方式,且都能播放本地、远程的音频...

  • iOS ~ AVPlayer 音频播放

    直接代码: 调用的方法:拿到音频(这里获取的是.mp3格式的音频,直接播放,退出页面时,停止播放)

  • iOS音频,视频

    音频-播放 AVPlayer-录制 视频

  • iOS 网络音频播放 AVPlayer

    写在前面 公司近期要求在App内嵌入音频播放,由于之前对于音视频播放只是简单了解,并没有系统的研究。这次需要用到的...

网友评论

      本文标题:iOS ~ AVPlayer 音频播放

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