gpt4 book ai didi

iphone - iPhone,音频MP3或M4A音频文件不播放声音

转载 作者:行者123 更新时间:2023-12-02 22:57:27 25 4
gpt4 key购买 nike

我正在尝试在对象didSelectedIndex UITableViewController中播放声音方法

音频文件是扩展名为m4a的文件,但我也尝试使用mp3文件,结果没有改变。

下面,我发布在TableViewController方法中实现的代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

NSString *soundFilePath = [NSString stringWithFormat:@"%@/testaudio.m4a", [[NSBundle mainBundle] resourcePath]];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSLog(@"soundFileURL %@",soundFileURL);
NSError *error;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:&error];

if(!player){
NSLog(@"ERRORE: %@",error);
}
[player setDelegate:self];
[player prepareToPlay];
[player play];

}

我也直接在设备上尝试过,它仍然无法播放任何声音。

我还添加了一个AVSession类,如下所示:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];

结果没有改变,有人知道是什么问题吗?

最佳答案

试试这个(经过测试):

AVAudioPlayer中为.m对象设置属性:

@property(strong, nonatomic) AVAudioPlayer *player;

然后将其添加到您的:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *soundFilePath;

if ((soundFilePath = [[NSBundle mainBundle] pathForResource:@"testaudio" ofType:@"m4a"]))
{
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSError *error;
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:&error];

if(self.player)
{
[self.player setDelegate:self];
[self.player prepareToPlay];
[self.player play];
}
else
{
NSLog(@"ERRORE: %@", error);
}
}
}

在这种情况下,您不需要 AVAudioSession

关于iphone - iPhone,音频MP3或M4A音频文件不播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21174047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com