gpt4 book ai didi

iphone - 使用 AVAudioPlayer 播放 MP3 无法在设备上运行

转载 作者:行者123 更新时间:2023-12-03 18:19:54 26 4
gpt4 key购买 nike

我正在运行 iOS 4.2 的 3GS iPhone 上测试我的应用

我正在使用以下代码在我的 IBAction 中播放声音。它在模拟器(iPad 和 iPhone)中完美运行 - 我听到了声音。

NSString *pathToMusicFile1 = [[NSBundle mainBundle] pathForResource:@"alarm" ofType:@"mp3"];
NSError *error;
alarmSound = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:pathToMusicFile1] error:&error];
NSLog(@"Song1 Loaded");
if (alarmSound == nil) {
NSLog(@"Error playing sound");
} else {
alarmSound.numberOfLoops = 20;
alarmSound.volume = 1.0;
[alarmSound play];
}

我已经正确声明了所有内容( header 和框架等),因为我可以在模拟器中听到声音。

我还检查过我的手机没有处于静音模式!!我从通用 iPhone GUI 中听到其他声音。 (来自日期选择器的示例)。

我还清理了所有目标并删除了应用程序以重新安装。

有什么问题吗?!

最佳答案

所以,我也遇到了这个问题 - 嗯,我很确定这是同一个问题......

我们的应用程序在应用程序商店中已经存在一年左右了,最近我们需要更改一些内容,尽管没有任何功能。

突然,声音停止工作 - 最新 sdk 版本(版本 4.0)和设备上的模拟器(再次运行 iOS 4)都停止工作。

一直对我们有用的代码是这样的......

NSString *sound_file;
if ((sound_file = [[NSBundle mainBundle] pathForResource:@"track1" ofType:@"mp3"])){

NSURL *url = [[NSURL alloc] initFileURLWithPath:sound_file];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
audioPlayer.delegate = self;
[url release];

[audioPlayer prepareToPlay];
[audioPlayer play];

}

最后,我发现您现在需要设置 AVAudioSession 播放的类型,才能像以前一样通过扬声器播放声音!将以下代码行放入您的应用程序委托(delegate) applicationDidFinishLaunching 事件处理程序中...

- (void)applicationDidFinishLaunching:(UIApplication *)application {

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

不要忘记在您的应用程序委托(delegate) .h 文件中添加包含内容(显然您还需要导入 AVFoundation 框架,如果尚未这样做)...

#import <AVFoundation/AVAudioSession.h>

希望这现在能让您的声音在设备上播放。

不要被我认为可能是一个单独的问题所困扰,那就是声音仍然无法在模拟器中播放。我看过其他帖子暗示这种情况,但我不确定这种情况有多普遍。我发现如果我选择 iPad 3.2 作为我的模拟器,它至少可以工作。喜悦!

对我来说,疯狂的是,这肯定会影响很多人,但很难找到有关应该是一个众所周知的问题的信息或建议 - 毕竟,我看过很多帖子在似乎没有得到答复的论坛上。

无论如何,希望这对其他人有帮助。

关于iphone - 使用 AVAudioPlayer 播放 MP3 无法在设备上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640880/

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