首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioToolBox不会在某些设备上播放

AudioToolBox不会在某些设备上播放
EN

Stack Overflow用户
提问于 2011-12-05 01:51:00
回答 1查看 709关注 0票数 0

我有两个应用程序使用音频工具箱框架来播放简短的mp3文件。部署目标是: 4.0,Base是: iOS 5.0SDK

我有iPhone4和iOS 5.0,iphone 3GS和iOS 5.0。他们俩都在播放声音。我的一个朋友,有iPad与iOS 4.3,不能播放任何声音。另一个有iPhone 4和iOS 4.2的朋友也不能播放这些声音。它看起来像是与iOS,但我真的不知道什么是真正的原因,它不玩。

下面是我播放文件的代码示例:

H.文件(只有相关代码):

代码语言:javascript
复制
#import <AudioToolbox/AudioToolbox.h> 

SystemSoundID soundID1;

M.文件(只有相关代码):

代码语言:javascript
复制
@synthesize soundID1

- (IBAction)one:(id)sender
{    NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];
    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID1);
    AudioServicesPlaySystemSound (soundID1);
}

- (void)dealloc { AudioServicesDisposeSystemSoundID (self.soundID1);}
EN

回答 1

Stack Overflow用户

发布于 2011-12-05 14:18:35

为什么不使用AVAudioPlayer来播放声音文件呢?

这是密码。

代码语言:javascript
复制
#import <AVFoundation/AVAudioPlayer.h>

- (void)viewDidLoad
{

    NSString *path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];
    1 = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path1] error:NULL];
    1.delegate = self;
    [1 setVolume:1.0];
    [1 prepareToPlay];

}

- (IBAction)one:(id)sender
{

    if (1 && 1.playing) {
        [1 stop];
        [1 setCurrentTime:0];
        [1 play];
    }else {
        [1 play];
    }

}

因为iOS 5使用ARC,所以它不需要发布。但是,如果使用旧的iOS,则在dealloc方法上创建一个发行版。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8380216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档