2015-03-14 19 views

risposta

3

Sono abbastanza sicuro che non è possibile controllare il volume del dispositivo reale (in quanto questo sarebbe anche un po 'invadente) Controllo alcuni media si sta giocando è un'altra cosa. È tuttavia possibile esaminare MPVolumeView: https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPVolumeView_Class/index.html per la visualizzazione di una vista per l'impostazione del volume.

La questione è stata anche discusso qui: How to change device Volume on iOS - not music volume

+0

Scusa mi manca questa discussione. – DrCachetes

+0

Guarda questo: importazione MediaPlayer let volumeView = MPVolumeView() se let view = volumeView.subviews.first as? UISlider { view.value = 0.1 // --- 0 t0 1.0 --- } Funziona per me –

1

Ecco, questo ha funzionato per me.

#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 
+1

Questo modifica il volume relativo del supporto che stai riproducendo, ma sono abbastanza sicuro che il volume effettivo varia da 0 all'impostazione corrente del volume dell'utente. Quindi, se l'utente ha il volume impostato su 1/2, l'impostazione di MusicPlayer.volume di 1.0 ti darebbe effettivamente un volume di 1/2. –

+4

che è deprecato da ios7 –

1

Guardate questa:

import MediaPlayer 

let volumeView = MPVolumeView() 
if let view = volumeView.subviews.first as? UISlider{ 
    view.value = 0.1 //---0 t0 1.0--- 

} 

Il suo lavoro per me

1

Hacky ma opere (Swift 3):

func setVolumeTo(volume: Float) { 
    (MPVolumeView().subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}.first as? UISlider)?.setValue(volume, animated: false) 
} 

Non dimenticare di import MediaPlayer

+0

Questo funziona davvero! Assicurati solo di "importare MediaPlayer" in alto. –

Problemi correlati