你好我正在开发一个Swift应用程序,我需要从URL链接启动一个AudioFile。
let metadateObj = metadataObjects[0] as! AVMetadataMachineReadableCodeObject
if metadateObj.type == AVMetadataObjectTypeQRCode {
let BarcodeObject = videoPreviewLayer?.transformedMetadataObject(for: metadateObj as AVMetadataMachineReadableCodeObject) as! AVMetadataMachineReadableCodeObject
qrCodeframeView?.frame = BarcodeObject.bounds
if metadateObj.stringValue != nil {
Label.text = metadateObj.stringValue
基本上我有一个QR码相机,它应该扫描QR码(mp4文件的链接)并将其保存为Label.text
然后我使用这段代码:
let movieURL: NSURL? = NSURL ( string: "\(Label.text)")
if let url = movieURL {
self.avPlayer = AVPlayer(url: url as URL)
self.avPlayerViewController.player = self.avPlayer
}
启动播放器,但它不播放mp4文件。
另一方面,如果我用实际链接替换Label.text:
let movieURL: NSURL? = NSURL ( string: "http://techslides.com/demos/sample-videos/small.mp4")
if let url = movieURL {
self.avPlayer = AVPlayer(url: url as URL)
self.avPlayerViewController.player = self.avPlayer
}
这里的工作非常完美:我很困惑,我确信我正在使一切正确,因为这不是我第一次这样做。但在这种情况下,它无法正常工作。你能不能找到我的愚蠢错误,我很沮丧!!!
答案 0 :(得分:1)
也许试试这个:
OpenLabelButton.isHidden = false
Label.isHidden = true
captureSession?.stopRunning()
label2 = Label.text!
然后
let movieURL: NSURL? = NSURL ( string: "\(label2)")
if let url = movieURL {
希望它有效:)