2010-07-08 93 views
5

我正在創建一個應用程序,在按下按鈕時使用可以調整音量的UISlider播放聲音。有時甚至在將iphone的音量增加到音量之後,音量太高,有時甚至太低full.How我可以保持音量始終高?任何可能的方式來集成系統音量與滑塊音量?使用MPVolumview會得到我的應用程序被拒絕我想.. 我使用的觸摸按鈕的代碼是這樣使用UIslider Iphone進行音量控制?

NSString* resourcePath = [[NSBundle mainBundle] resourcePath]; 
resourcePath = [resourcePath stringByAppendingString:@"/sound.mp3"]; 
NSLog(@"Path to play: %@", resourcePath); 



player = [[AVAudioPlayer alloc] initWithContentsOfURL: 
      [NSURL fileURLWithPath:resourcePath] error:&err]; 

    player.delegate = self; 
    [player play]; 
    player.volume=.50; 
    player.numberOfLoops=-10; 

-(IBAction)slidervaluechanged 
{ player.volume=slider.value; } 

}

回答

3

與Hemant,

你所能擁有的最大音量是當player.volume是等於1.0(只要鈴聲音量也是最大的)。

如果鈴聲音量不是最大,你只能去高達不管它是在再次使用的1.0

但是值,就可以實現MPVolumeView(我幾乎可以肯定,作爲潘多拉做到了),然後在你的應用中使用該滑塊。然後,您可以將player.volume設置爲始終等於1.0,然後讓滑塊更改鈴聲音量。 http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.htmlHow do you implement an MPVolumeView?

我可能是錯的,但我認爲蘋果允許MPVolumeView如果你用它作爲-是:如果你想使用MPVolumeView

更多信息。他們在課程參考中說,當你移動滑塊時(它不習慣這種滑塊,這就是人們不得不訪問私有API的原因),它現在改變了設備鈴聲音量。我將在一週內嘗試在我的下一次更新中實施它,所以如果我被拒絕,我會回到這裏並更新此帖以讓每個人都知道。