簡體   English   中英

少數iOS設備中沒有聲音

[英]Audio doesn't sound in a few iOS devices

我開發了一個應用程序,播放帶有一些聲音錄音的音頻文件。 當我調試它時,我沒有任何問題,當我從AppStore下載它完美的工作,我的朋友使用它,他們沒有任何問題的應用程序,但來自世界各地的一些人已經聯系我告訴我應用程序沒有聲音。

這很奇怪,因為他們告訴我鈴聲(mp3 44100Hz,單聲道,128kbps)首先發出聲音但聲音(mp3 44100Hz,立體聲,96kbps)不響。 與我聯系的人有不同的設備型號和不同版本的iOS 6。

我使用AVAudioPlayer播放文件,我認為它運作良好。

你有同樣的問題嗎?

謝謝

UPDATE

這是我擁有的Localizable.strings

在此輸入圖像描述

我像這樣加載文件:

// 
NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang   withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL: aItem.urlAudio error:&error];
player.delegate = self;
[player prepareToPlay];

這是帶有文件鍵和值的Localizable.strings的示例,默認情況下,鍵的名稱是文件的西班牙語版本:

//AUDIO NAMES

"1_au_es" = "1_au_en";
"2_au_es" = "2_au_en";
"3_au_es" = "3_au_en";
"4_au_es" = "4_au_en";
"5_au_es" = "5_au_en";
"6_au_es" = "6_au_en";
"7_au_es" = "7_au_en";
"8_au_es" = "8_au_en";
"9_au_es" = "9_au_en";
"10_au_es" = "10_au_en";
"11_au_es" = "11_au_en";
"12_au_es" = "12_au_en";
"13_au_es" = "13_au_en";
"14_au_es" = "14_au_en";
"15_au_es" = "15_au_en";
"16_au_es" = "16_au_en";
"17_au_es" = "17_au_en";
"18_au_es" = "18_au_en";
"19_au_es" = "19_au_en";

你確定他們的振動按鈕沒有打開嗎? 我寫了一個翻譯應用程序,讓用戶只需將振動按鈕打開靜音。 這看起來很簡單,但我已經收到了近15封電子郵件,稱應用程序沒有音頻。

這似乎很簡單,但該解決方案是最簡單,最快捷的解決方案。 振動模式,關閉所有音頻,甚至是應用程序。

我的翻譯應用程序使用AVAudioPlayer,並沒有任何編程錯誤。 只是用戶錯誤。

也許音頻比特率可能是問題? 我真的不知道......

鈴聲比運行良好有128kbps,音頻文件有96kbps,有時不起作用。 奇怪的是,音頻在90%的用途中運行良好但有時會失敗。 鈴聲相反,100%的效果很好。

:/

如果不檢查Xcode項目配置,很難找到這個問題的精確解決方案。 但是,根據您在評論中提到的信息,我懷疑問題必須與Localization字符串相關。 檢查您的本地化配置,檢查您是否正確使用本地化字符串文件,檢查是否為每個支持的本地化寫了有效的文件名。

另外,檢查您的代碼:

NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang   withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL: aItem.urlAudio error:&error];
player.delegate = self;
[player prepareToPlay];

為什么你不使用“thePlayerURL”? 也許這就是問題,因為是“本地化的URL”。 我希望:

NSString *fileLang = NSLocalizedString(aItem.fileName, nil);
//more code ...
thePlayerURL = [[NSBundle mainBundle] URLForResource:fileLang   withExtension:@"mp3"];
//more code ...
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:thePlayerURL error:&error];
player.delegate = self;
[player prepareToPlay];

我最近提交了一個具有相同問題的應用程序,但由於我沒有在Xcode和應用程序信息下的“證書”窗格中設置“Inter-App Audio”,因此它被拒絕了。 這可能有所幫助。

如果您想知道,該應用程序違反了App Store指南第2.13節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM