1
我正在製作一個小型iOS遊戲,並且完成了一切,除了聲音。我已經檢查過這些文件格式,嘗試過.wav和.aiff,但都沒有工作。相關的代碼如下:在iOS中播放的聲音
.h
文件:
#import <AudioToolbox/AudioToolbox.h>
@public SystemSoundID mBeep;
NSString* path;
NSURL* url;
.m
文件:
path = [[NSBundle mainBundle]pathForResource:@"hit" ofType:@"wav"];
url = [NSURL URLWithString:path];
AudioServicesCreateSystemSoundID((CFURLRef)url, &mBeep);
AudioServicesPlaySystemSound(mBeep); //Gets called, doesn't play
如果我使用無證ID之一,像1103
與AudioServicesPlaySystemSound
,聲音正常播放。
我敢肯定我的文件都很好,因爲相同的.wav文件完美的作品在Android上,VLC時,iTunes等
有誰知道我做錯了嗎?
我試過了。您提供的命令不起作用,但通過一些Google搜索,轉換髮生在「afconvert -f caff -d aac -c 1 /Users/raghavsood/Desktop/iOS/Shared/Resources/hit.wav/Users/raghavsood/Desktop/iOS/Shared/Resources/hit.caf「即使在此之後,聲音也不會播放。我也試過使用aiff格式。你還有其他建議嗎? – 2012-03-06 15:56:40
你能檢查你是否成功閱讀文件?嘗試對文件做其他事情,比如將其加載到NSData中。 – yuji 2012-03-06 17:58:11
我使用以下命令來讀取文件中的數據: NSData * fileData = [NSData dataWithContentsOfFile:path];如果(fileData!= NULL) { NSLog(@「File read」); } 日誌語句不顯示,所以我猜這個文件沒有被讀取。我試過改變資源路徑。該文件存儲在/ Shared/Resources中。我嘗試過使用相對路徑,替代路徑以及沿途發明的其他路徑。他們都沒有工作。你還有其他建議嗎? – 2012-03-06 18:41:01