2011-07-24 16 views
1

シミュレータで動作する私のiPhoneアプリでサウンドを動作させるために、ウェブサイトを検索し、すべての可能なオプションを試しました。サウンドがiPhone 3GSにないシミュレータで動作しています

具体的に私はここに示唆されているもの試してみました:

:私は次のコードで、「.WAV」だけでなく、私のアプリの中から「.caf」ファイルの両方を実行しようとしているほか Sound working in emulator, not in real iPhone

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDir = [paths objectAtIndex:0]; 
NSString *clapPath = [documentsDir 
         stringByAppendingPathComponent: @"applause.wav"]; 
// Put down default db if it doesn't already exist 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
if (![fileManager fileExistsAtPath:clapPath]) { 
    NSString *defaultClapPath = [[NSBundle mainBundle] 
            pathForResource:@"applause" ofType:@"wav"]; 
    if (defaultClapPath) { 
     [fileManager copyItemAtPath:defaultClapPath toPath:clapPath error:NULL]; 
    } 
} 


// NSString *clapPath = [[NSBundle mainBundle] pathForResource:@"applause" ofType:@"caf"]; 
CFURLRef clapURL = (CFURLRef) [NSURL fileURLWithPath:clapPath]; 
AudioServicesCreateSystemSoundID (clapURL, &clappingFileID_); 

NSLog(@"calling initSounds.."); 
AudioServicesPlaySystemSound (clappingFileID_); 

上記のコード片は、Fを働かせる両方:私はまた、次のコードを変更した他の提案に基づいて

CFURLRef soundFileURLRef = NULL; 
soundFileURLRef = CFBundleCopyResourceURL (CFBundleGetMainBundle(), 
    CFSTR ("applause"),CFSTR ("wav"),NULL); 
NSLog(@"Clap Path: %s", CFURLGetString(soundFileURLRef)); 
AudioServicesCreateSystemSoundID (soundFileURLRef,&clappingFileID_); 

AudioServicesPlaySystemSound (clappingFileID_); 

またはシミュレータではなく、iPhone用ではありません。

  • また、getInfoを実行して.wavファイルのプロパティを確認しました。それは言う: ビットレート:176 kbpsの サンプルレート:11.025 kHzの サンプル・サイズ:16ビット サイズ62 KB

  • またスルー、それを追加することで、アプリの文脈の外で直接iPhone上で.wavファイルを実行してみましたitunesとこれはうまく動作します。これは、与えられた.wavファイルのためにiPhoneにコーデックが存在し、そのファイルが破損していないことを示しています。

私の携帯電話のOSは4.1であり、そのiPhone 3GS。デバイスでは、設定に移動し、Sounds->リンガーと警告

上の音量を上げ次に、あなたのテストを再試行してください:私は次のことを試してみてください4.2

+0

明らかにわからないように、エミュレータはデバイスが動作している間は大文字と小文字を区別しません。正しいファイル名を使用していますか? –

+0

はい、オーディオファイル名はすべて小文字です – user200671

答えて

0

件までOS 3.2以上のために自分のアプリケーションをコンパイルしています。

1

iPhoneのサウンドミュートスイッチがオフの位置にあることを確認してください。

関連する問題