gpt4 book ai didi

xcode 无法获取声音文件以使用 AVAudioPlayer 播放

转载 作者:行者123 更新时间:2023-12-01 09:01:52 28 4
gpt4 key购买 nike

我是 iOS 新手,正在尝试为我的应用添加声音。我已经遵循了几个关于在我的项目中添加一个简单的声音文件的教程,但结果都是一样的。我没有错误,但没有声音播放。关于我做错了什么的任何想法?任何帮助,将不胜感激!

- (IBAction)playSound:(id)sender {

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSLog(soundFilePath);

NSError *error;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:&error];
player.numberOfLoops = 1;

[player play];

}

**更新***

所以我对上面的代码没有任何运气,这非常令人沮丧,但我最终还是使用 AudioToolbox 框架让它工作,使用这个:

SystemSoundID soundID;
NSString *soundFile = [[NSBundle mainBundle]
pathForResource:@"test" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)
[NSURL fileURLWithPath:soundFile], & soundID);
AudioServicesPlaySystemSound(soundID);

谁能向我解释一下区别,为什么这个有效而另一个无效?我比什么都好奇。希望得到一些澄清。

最佳答案

终于明白了。我需要在我的头文件中为 AVAudioPlayer 创建一个属性才能让它工作。这是我所做的:

// .h file
@interface ThirdViewController : UIViewController {

AVAudioPlayer *audioPlayer;

}
@property (nonatomic, retain) AVAudioPlayer *audioPlayer;



- (void) playSound //method in .m file
{
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"test"
ofType:@"mp3"]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[audioPlayer play];
}

关于xcode 无法获取声音文件以使用 AVAudioPlayer 播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622694/

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