【代码笔记】iOS-播放从网络上下载的语音

时间:2021-03-07 16:14:06

代码:

ViewController.m

#import "ViewController.h"
//录音
#import <AVFoundation/AVFoundation.h> @interface ViewController ()
{
//播放器
AVAudioPlayer *player;
} @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
//点击任何处的时候,播放声音
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//https://wifamily.blob.core.chinacloudapi.cn/wom/2015090211559116.mp3 //播放的时候声音小
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *err = nil;
[audioSession setCategory :AVAudioSessionCategoryPlayback error:&err]; NSString *voiceUrl=@"https://wifamily.blob.core.chinacloudapi.cn/wom/2015090211559116.mp3";
NSLog(@"---voiceUrl--%@",voiceUrl);
NSURL *url = [[NSURL alloc]initWithString:voiceUrl];
NSData * audioData = [NSData dataWithContentsOfURL:url]; //将数据保存到本地指定位置
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:];
NSString *filePath = [NSString stringWithFormat:@"%@/%@.mp3", docDirPath , @"temp"];
[audioData writeToFile:filePath atomically:YES]; //播放本地音乐
NSError *playerError;
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&playerError];
if (player == nil)
{
NSLog(@"--play--error---%@", [playerError description]);
}else{
[player play];
} }
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end