2011-09-12 13 views
1

私はappStoreにアラームアプリを持っていて、アラームが鳴っている間、ユーザが(サイドボタンを使って)音量を下げることができないように設定します。私は文書でこれを行う方法を見つけることができません、私は何かを逃したのですか?実際のiPhoneの音量をアプリ内でロックする

iHandySoft Inc.のアラームクロックフリー(人気の緑色のもの)は可能です。マスター&呼び出し音量を0に下げて、iphoneをサイレントに設定すると、アラームは完全な吹き出しを再生します。次に、あなたのマスターボリュームが80%のように戻ってきていることがわかります。

私は現在AV Audioを使用しています。

すべてのサポートをよろしくお願いします。

+0

OK、私はちょうどこの1つはそれを書き留めるout.I'll考え出し。 ループを作成し、MPMusicPlayerControllerを使用して、10秒ごとにボリュームを完全に戻しました。コード: ループ機能: - (ボイド)OverideVolumeLevelLoop:(NSTimer *)タイマー {[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0F]。 }それからちょうどNSTimerループにこの機能: NSTimer * overideVolumeLoop = [NSTimer scheduledTimerWithTimeInterval:0.1Fターゲット:自己セレクタ:@selector(OverideVolumeLevelLoop :)ユーザー情報:リピートゼロ:YES]。 &完了したらループを無効にすることを忘れないでください。 [overideVolumeLoop invalidate]; –

+0

あなたがアンドレスを考え出したらおめでとう! :)あなた自身の答えを下に置き、この質問をできるだけ早くAnsweredとマークしてください。ありがとう。 – Madhu

+0

ありがとうMadhumal :)私はこれを答えとして掲示し、8時間後に私の評判が私に自分の答えを投稿することを許可していないので、「答えた」と答えます:) –

答えて

3

私はこれを考え出しました。

ループを作成し、MPMusicPlayerControllerを使用してボリュームを10秒ごとに完全に戻しました。

ループ機能:ループへ

-(void) OverideVolumeLevelLoop:(NSTimer *)timer 
{ 
    [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0f]; 
} 

それからちょうどNSTimerこの機能:

NSTimer *overideVolumeLoop = [NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(OverideVolumeLevelLoop:) userInfo:nil repeats:YES]; 

(あなたが遅くなるループを実行することができますが、ユーザがバックアップ提起さボリュームに気づくでしょう)

&完了したらループを無効にすることを忘れないでください。

[overideVolumeLoop invalidate]; 

これは、このスレッドに基づいています。

Set device volume on iPhone

0

AVAudioPlayerのボリューム機能を試しましたか?すなわち

//some method that gets called when you want to play a sound 
- (void)play sound { 

audioPlayer.volume = 1.0; 
[audioPlayer play]; 

} 
+0

ありがとうDeesho、これは実際にiPhoneのグローバルボリュームセット。私は回避策を見つけてコメントとして投稿しましたが、システムが自己回答を許可する8時間後に回答として掲示します。 –

+0

あなた自身の解決策を練習するのが常にベストです。運が良かった。 – dman

関連する問題