- (void)playsoundAction:(NSString *)soundWord {
// 播放聲音
if (self.textField.text.length > 0) {
soundWord = self.textField.text;
} else {
[KAlertViewFactory showToastWithMessage:@"無(wú)法讀取該單詞"];
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];
// 需要編碼:轉(zhuǎn)換成網(wǎng)址格式,以免不是正常網(wǎng)址阻肿,造成錯(cuò)誤
NSString *urlStr = [soundUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
[[WL_Tool getInstance] SoundPlayer:urlStr];
}
- 調(diào)用的方法:拿到音頻(這里獲取的是.mp3格式的音頻瓦戚,直接播放,退出頁(yè)面時(shí)丛塌,停止播放)
//聲音播放
-(void)SoundPlayer:(NSString *)strUrl;
{
[[WL_AFShareManager sharedManagerReturnData] GET:strUrl parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//請(qǐng)求成功返回?cái)?shù)據(jù) 根據(jù)responseSerializer 返回不同的數(shù)據(jù)格式
NSLog(@"%@",task.currentRequest.URL);
[SVProgressHUD dismiss];
self.player=[[AVAudioPlayer alloc]initWithData:responseObject error:nil];
if ([self.player prepareToPlay] &&[self.player play])
{
//成功播放音樂(lè)
}
//設(shè)置鎖屏仍能繼續(xù)播放
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//請(qǐng)求失敗
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);
}