0
NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"ding" ofType:@"mp3"];
if (musicPath)
{
    if(TapSoud)
    { 
        [TapSoud release];
        TapSoud = nil;
    }
    TapSoud = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:musicPath] error:nil];
}

[TapSoud setDelegate:self];
[TapSoud prepareToPlay];
[TapSoud play];


NSString *musicPath1 = [[NSBundle mainBundle] pathForResource:@"roadrunner" ofType:@"mp3"];
if (musicPath1)
{
    if(MatchSoud)
    { 
        [MatchSoud release];
        MatchSoud = nil;
    }
    MatchSoud = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:musicPath1] error:nil];
}

[MatchSoud setDelegate:self];
[MatchSoud prepareToPlay];

NSString *musicPath2 = [[NSBundle mainBundle] pathForResource:@"Wrong Answer" ofType:@"wav"];
if (musicPath2)
{
    if(WrongMatchSoud)
    { 
        [WrongMatchSoud release];
        WrongMatchSoud = nil;
    }
    WrongMatchSoud = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:musicPath2] error:nil];
}

[WrongMatchSoud setDelegate:self];
[WrongMatchSoud prepareToPlay];

このコードはシミュレーターでは正しく機能しますが、デバイスで音は発生しません。ここでの問題は何ですか?

4

1 に答える 1

1

最も可能性の高い問題は、プロジェクトまたはリソースのコピー段階でオーディオファイルが欠落していることです。シミュレーターは、アプリケーションがシミュレーターから完全に削除されるまで、プロジェクトから削除された場合でも、以前にコピーされたリソースを保存します。

musicPath、が空で有効でないことを確認してくださいmusicPath1musicPath2

于 2012-07-16T09:34:08.193 に答える