私はこのサイトとSwiftの初心者ですので、質問のテクニックに関するフィードバックは感謝して受け取ります。スライダの値を変更する方法オブジェクトまたは関数?
私は、スライダの値を再生中のオーディオとテキストラベル(またはイメージ)の両方に変更しようとしています。
私は私のアウトレットを作成しました:
@IBOutlet weak var audioSlider: UISlider!
@IBOutlet weak var audioValue: UILabel!
そして、私のアクション:
@IBAction func audioSliderValueChanged(sender: UISlider) {
var currentValue = (sender.value)
audioValue.text = (StringInterpolationConvertible: audioValue))
すべて1つのスライダに接続されています。私はこの問題にどのように接近するのか分かりません。
EDIT:漢龍コード:
AVFoundationを使用して、アプリ内の他の音のために「を実行」は既にありました。私は輸入財団(AVFoundationがすでにインポートされた)
私が追加しました:私はアクションを更新しました
{timeObserverToken = audioSliderPlayer.addPeriodicTimeObserverForInterval(interval, queue: dispatch_get_main_queue()) {
[weak self] time in
self?.timeSlider.value = Float(CMTimeGetSeconds(time))
}}
}
:(のviewDidLoad以内)を行う関数の後に、次の
@IBOutlet weak var audioSlider: UISlider!
@IBOutlet weak var audioValue: UILabel!
var audioSliderPlayer:AVAudioPlayer = AVAudioPlayer()
var currentTime: Double {
get {
return CMTimeGetSeconds(audioSliderPlayer.currentTime)
}
set {
let newTime = CMTimeMakeWithSeconds(newValue, 1)
audioSliderPlayer.seekToTime(newTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero)
}
}
て、コメントを追加しました:
@IBAction func timeSliderDidChange(sender: UISlider) {
currentTime = Double(sender.value)
}
ただし、まだエラーが発生しています。また、どのようにそれが値に依存して再生するオーディオを指定することができるでしょうか?
んが、それは、スライダーの値を示してはならない - それは価値 –