【发布时间】:2018-03-12 01:01:11
【问题描述】:
我目前正在研究一种在调用时将播放 mp4 文件的方法。但是,在播放 mp4 文件时,我希望禁用用户交互。这样用户就不能在播放 mp4 时点击屏幕并重新启动相同的 AVAudioSession。到目前为止,我的代码是这样的
import Foundation; import UIKit; import AVFoundation
var player: AVAudioPlayer?
class Card: NSObject
{
var image: UIImage
var soundUrl: String
init(image: UIImage, soundUrl: String, isActive:Bool = true) {
self.image = image
self.soundUrl = soundUrl
}
func playSound()
{
guard let url = Bundle.main.url(forResource: self.soundUrl, withExtension: "m4a") else { return }
do
{
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(contentsOf: url)
guard let player = player else { return }
player.prepareToPlay()
player.play()
print("play")
} catch let error {
print(error.localizedDescription)
}
}
}
【问题讨论】:
-
禁用某些元素或禁用设备上的所有传入触摸?
-
禁用设备上的所有传入触摸
标签: ios swift xcode avaudioplayer avaudiosession