我正在尝试创建一个控制4个音频文件音量的滑块。
以下是我的音频代码:
var ButtonAudioURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("audio1", ofType: "mp3")!)
var firstplayer = AVAudioPlayer()
var ButtonAudioURL2 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("audio2", ofType: "mp3")!)
var secondplayer = AVAudioPlayer()
var ButtonAudioURL3 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("audio3", ofType: "mp3")!)
var thirdplayer = AVAudioPlayer()
var ButtonAudioURL4 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("audio4", ofType: "mp3")!)
var forthplayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
firstplayer = AVAudioPlayer(contentsOfURL: ButtonAudioURL, error: nil)
secondplayer = AVAudioPlayer(contentsOfURL: ButtonAudioURL2, error: nil)
thirdplayer = AVAudioPlayer(contentsOfURL: ButtonAudioURL3, error: nil)
forthplayer = AVAudioPlayer(contentsOfURL: ButtonAudioURL4, error: nil)
触摸每个按钮时,我都会播放音频。但我只需要一个滑块来控制每个按钮的每个音频文件的音量。
我该怎么做?我看过developer.apple上的MPVolumeView类引用,但我仍然感到困惑,在MPVolumeView的 developer.apple参考中,它谈到了AirPlay,我可以禁用它吗?
我只需要一个滑块来控制音量。
答案 0 :(得分:3)
你关闭了!
将滑块拖入故事板,然后为其创建IB outlet
和IB action
。
在IB action
代码中,使用firstPlayer.volume = sliderOutlet.value
由于默认值的范围从0到1,因此它们的比例相同,因此可以像这样使用而不进行缩放。您可能需要全局声明AVAudioPlayers
,并且可以查看按下了哪个按钮(例如,存储按下按钮名称的变量)。这样,您可以使用4 if语句更改正确的音量,并且不会更改尚未初始化的播放器的音量。
让我知道这是否有效!
答案 1 :(得分:2)
如果你使用 Swift 2 试试这个:
@IBOutlet weak var volumen: UISlider!
var reproductor = AVAudioPlayer()
后:
@IBAction func sliderValueChanged(sender: UISlider) {
let selectedValue = Float(sender.value)
reproductor.volume = selectedValue
}
并在播放声音期间尝试滑块音量。就这些。我帮了。
答案 2 :(得分:1)
我正在使用Xcode 6.我正在构建一个类似的示例,我从故事板中的滑块拖到我的viewController并创建了一个Outlet
@IBOutlet weak var volumeControl: UISlider!
之后我创建了一个动作
@IBAction func adjustVolume(sender: AnyObject) {
if audioPlayer != nil {
audioPlayer?.volume = volumeControl.value
}
}
它对我有用。您可以创建4个滑块并将它们分配给您创建的每个AudioPlayer实例。 在此链接中,您可以找到使用AVAudioPlayer http://www.techotopia.com/index.php/Playing_Audio_on_iOS_8_using_AVAudioPlayer
在iOS8上播放音频的示例