2009-07-01 43 views
2

當我使用我的應用程序(在設備上)時,實際的音量可以工作一段時間,但幾天之後它似乎會陷入低水平。 調整音量搖桿沒有任何影響 - 並顯示「Ringer」文字。我注意到,如果調整音量時顯示「Ringer」文字,其他人的應用程序也會受到類似影響。但不顯示'林格'文本的應用程序不受此影響。音量卡在低電平並調節音量沒有效果?

我將如何刪除'Ringer'文本並讓我的應用程序正確響應不同的卷?

+0

你是什麼意思'過了幾天'?你的應用程序運行幾天?什麼OS版本? – 2009-07-01 13:11:51

回答

0

我在Apple的論壇上發現了一些修復它的代碼。您必須使用AVFoundation.framework並將一些代碼放入您的應用程序委託中。並將一個名爲'blank.aif'的音頻文件放入您的項目中。基本上,這是一個準備文件播放的黑客,但從來沒有播放它。這愚弄了系統認爲始終播放聲音,這允許用戶使用主音量控制。

#import <AVFoundation/AVFoundation.h> 

//... 


-(void)applicationDidFinishLaunching:(UIApplication *)application { 

//volume control hack 
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"blanksound" ofType:@"aif"]; 
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath]; 
AVAudioPlayer *volumeHack = [[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]retain]; 
[fileURL release]; 
[volumeHack prepareToPlay]; 

// other applicationDidFinishLaunching stuff 
}