15

iOS(iphone)のデバイスの音量を変更したい。

以下の行で音楽ライブラリの音量を変更できることを知っています:

//implement at first MediaPlayer framework
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
musicPlayer.volume = 1;

しかし、それは私の目的ではありません。デバイスの音量
を変更したい、または着信音の音量を言わせたい。

どうやってやるの?DEVICEの音量 を変更するだけですか?

4

9 に答える 9

6

システムの音量を設定するには、iPodMusicPlayerの代わりにapplicationMusicPlayerを使用する必要があります。

#import <MediaPlayer/MediaPlayer.h>
musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
musicPlayer.volume = 1; // max volume
musicPlayer.volume = 0; // min volume (mute)
musicPlayer.volume = 0.0625; // 1 bar on the overlay volume display
于 2012-09-23T12:38:16.883 に答える
1

アプリはデバイスのグローバル設定を変更すべきではなく、あなたもそうすべきではありません。ユーザーは、標準の iOS 機能を使用してそれを行うことができます。代わりに、サウンド/ビデオを再生する場合は、プレーヤーのvolume:

var player: AVPlayer!
...
player.volume = 0.5 // 50% level
于 2019-05-13T21:40:25.530 に答える
1

その場で MPVolumeView を作成してスライダーを取得し、音量を設定することは、iOS 11.4 では機能しなくなりました。新しい MPVolumeView を UIViewController ビューに追加することで問題を解決しました。そうしないと、ボリュームが設定されませんでした。コントローラーに追加したので、ボリューム ビューの位置を画面の外に設定する必要もあります。

コードはSwift 4にあります:

let volumeControl = MPVolumeView(frame: CGRect(x: 0, y: 0, width: 120, height: 120))

override func viewDidLoad() {
   self.view.addSubview(volumeControl);
}

override func viewDidLayoutSubviews() {
   volumeControl.frame = CGRect(x: -120, y: -120, width: 100, height: 100);
}

func setMaxVolume() {
    let lst = volumeControl.subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}
    let slider = lst.first as? UISlider

    slider?.setValue(1, animated: false)
}
于 2018-06-05T17:59:09.700 に答える