0

audiotoolbox フレームワークを使用して短い mp3 ファイルを再生する 2 つのアプリケーションがあります。展開ターゲットは: 4.0 であり、ベース SDK は: iOS 5.0 SDK です。

私は iOS 5.0 を搭載した iPhone 4 と iOS 5.0 を搭載した iPhone 3GS を持っています。どちらも音を奏でています。iOS 4.3 を搭載した iPad を持っている私の友人は、どのサウンドも再生できません。また、iOS 4.2 を搭載した iPhone 4 を使用している別の友人も同様にサウンドを再生できません。iOS に問題があるように見えますが、再生されない本当の理由は何なのか、私にはまったくわかりません。

ファイルを再生するためのコードの例を次に示します。

H. ファイル (関連するコードのみ):

#import <AudioToolbox/AudioToolbox.h> 

SystemSoundID soundID1;

M. ファイル (関連するコードのみ):

@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);}
4

1 に答える 1

1

AVAudioPlayer を使用してサウンド ファイルを再生してみませんか。

これがコードです。

#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];
    }

}

ARC を使用する iOS 5 以降、リリースする必要はありません。ただし、古い iOS を使用している場合は、dealloc メソッドでリリースを作成してください。

于 2011-12-05T14:18:35.517 に答える