Ich habe eine UISlider
zu meiner App hinzugefügt und ich versuche herauszufinden, wie man die Lautstärke der Musikwiedergabe ändern. Die wiedergegebene Musik wird aus der iTunes-Bibliothek mit MPMusicPlayerController
Lautstärke ändern mit einem Schieberegler in Swift 2
gezogen. Hier ist die ViewDidLoad-Funktion mit um zu zeigen, wie ich die Musik aus der iTunes Music-Bibliothek bekommen.
var musicPlayer = MPMusicPlayerController()
override func viewDidLoad() {
super.viewDidLoad()
musicPlayer = MPMusicPlayerController.systemMusicPlayer()
//Changing the Play/Pause Button
if musicPlayer.playbackState == MPMusicPlaybackState.Playing {
playPauseButton.setImage(UIImage(named: "Pause"), forState: UIControlState.Normal)
//Artwork
let currentItem: MPMediaItem = musicPlayer.nowPlayingItem!
let artwork: MPMediaItemArtwork = currentItem.valueForProperty(MPMediaItemPropertyArtwork) as! MPMediaItemArtwork
let artworkImage = artwork.imageWithSize(CGSize(width: self.view.frame.width, height: 372.0))
musicPlayerArtwork.image = artworkImage
musicBottomBackground.image = artworkImage
//Titel
let titleString: String = currentItem.valueForProperty(MPMediaItemPropertyTitle) as! String
songTitle.text = titleString as String
//Artist & Album
let artistString: String = currentItem.valueForProperty(MPMediaItemPropertyArtist) as! String
let albumString: String = currentItem.valueForProperty(MPMediaItemPropertyAlbumTitle) as! String
albumAndArtistTitle.text = "\(artistString) - \(albumString)"
} else {
playPauseButton.setImage(UIImage(named: "Play"), forState: UIControlState.Normal)
}
}
// I have IBAction functions linked to controlling the playbackk and pause functions that look like this one to play the music
func startPlayMusic() {
if self.musicPlayer.playbackState == MPMusicPlaybackState.Paused {
self.musicPlayer.play()
}
}
Ich habe den Slider mit einem IBAction und IBOutlet angeschlossen und haben die folgende Funktion die Lautstärke einstellen, um zu versuchen es:
var audioPlayer = AVAudioPlayer()
@IBAction func volumeSliderChanging(sender: UISlider) {
audioPlayer.volume = sender.value
}
Jedes Mal, wenn ich versuche, diese laufen und Bewegen des Schiebers ich das bekommen folgende Fehler
Alle Ideen, was ich falsch machen könnte?
verwenden Sie CoreAnimation mit diesem Wertänderungscode? – HardikDG