iPhoneでビデオを再生しようとしています。ビデオの音声がiPhoneのスピーカーに出てきたら理想的です。Swiftビデオからの音声:デフォルトのスピーカー
しかし、私は私のコンソールにこのエラーが表示されます。ここでは
audioSession error: The operation couldn’t be completed. (OSStatus error -50.)
は私のコードです::
let player = AVPlayer(url: video_url)
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
} catch let error as NSError {
print("audioSession error: \(error.localizedDescription)")
}
// get the lenght of the video
self.video_duration = getMediaDuration(url: video_url) + 0.25
// notification for when video is over.
NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinish), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player.currentItem)
// the video controller...
let controller = AVPlayerViewController()
controller.view.frame = self.view.frame
controller.player = player
controller.showsPlaybackControls = false
controller.view.tag = 99
self.video_ctrl = controller
// add controller as subview
self.view.addSubview(controller.view)
controller.player?.play()
私はエラーをGoogleで検索し、どんな結果を見ていません。 何か助けていただければ幸いです。
後で同じアプリケーションで、AVAudioSessionと同じ行を使用してオーディオファイルを再生しても問題ありません。その後、私がビデオを再生すると、私が望むように、スピーカーに音が出てきます。しかし、なぜそれは初めて起こらないのですか?
を使用すると、オーディオセッションのカテゴリを設定すると、セッションを起動したことがありますか?もしそうなら、どのカテゴリ?カテゴリを設定した場合、 '.OptionDefaultToSpeaker'をオプションとして設定することもできます。このQ&Aでは、あなたの方法はあなたが聞いているものに合った、もっと「過渡的な」バージョンであると言います:https://developer.apple.com/library/content/qa/qa1754/_index.html –