gpt4 book ai didi

iphone - iPhone-声音无法与AudioServicesPlaySystemSound或AVAudioPlayer一起播放

转载 作者:行者123 更新时间:2023-12-03 00:04:58 26 4
gpt4 key购买 nike

我在UIImagePicker的上方有一个按钮,我希望它在单击时能发出声音。
为此,我在项目资源中有m4a和mp3格式的声音(用于测试)。

我尝试通过多种方式播放声音,或者尝试使用m4a和mp3格式,但是iPhone(不是模拟器)没有任何问题。

框架包括在项目中。

这是我的示例代码:

#import <AudioToolBox/AudioToolbox.h>
#import <AVFoundation/AVAudioPlayer.h>

- (IBAction) click:(id)sender {
// Try
/*
SystemSoundID train;
AudioServicesCreateSystemSoundID(CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("TheSound"), CFSTR("mp3"), NULL), &train);
AudioServicesPlaySystemSound(train);
*/

// Try
/*
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"TheSound" withExtension: @"mp3"] error:&error];
[audioPlayer play];
[audioPlayer release];
*/

// Try (works)
//AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

// Try
/*
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"TheSound" ofType:@"mp3"] isDirectory:NO];
AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
*/

NSLog(@"Clicked");
}

你能告诉我出什么事了吗?

最佳答案

您不能将MP3与音频服务一起使用。它必须是某个子类型的WAV文件。至于AVAudioPlayer,它支持MP3文件,但是当AVAudioPlayer释放后,它将停止播放,并且由于您在发送-play之后立即这样做(通过发送-release来平衡+alloc),所以您从没听到任何声音。

因此,要么将文件转换为WAV,要么卡在AVAudioPlayer上足够长的时间才能播放。 :)

关于iphone - iPhone-声音无法与AudioServicesPlaySystemSound或AVAudioPlayer一起播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5282997/

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