Ich versuche, ein Beispiel mp3 von einer URL zu streamen. Es ist eine sehr kleine Beispieldatei. Wenn ich jedoch die Wiedergabetaste drücke, passiert nichts. Nun, es spielt kein Ton.Swift 3: stream MP3-Datei vom Server
Ich bin ziemlich neu zu Swift und sehr viel ein Noob, also hier ist der volle View Controller, da ich unsicher bin, was Sie brauchen könnten.
import UIKit
import AVKit
import AVFoundation
import Foundation
class ViewController: UIViewController {
@IBAction func playButton(_ sender: Any) {
print("pressed")
let urlstring = "http://cdn.mos.musicradar.com/audio/samples/80s-heat-demos/AM_Eighties08_85-01.mp3"
let url = NSURL(string: urlstring)
print("the url = \(url!)")
downloadFileFromURL(url: url!)
}
override func viewDidLoad() {
// Do any additional setup after loading the view
}
func downloadFileFromURL(url:NSURL){
weak var weakSelf = self
var downloadTask:URLSessionDownloadTask
downloadTask = URLSession.shared.downloadTask(with: url as URL, completionHandler: { (URL, response, error) -> Void in
print("URL = \(URL)")
weakSelf!.plays(url: URL! as URL)
})
downloadTask.resume()
}
func plays(url:URL) {
print("playing \(url)")
do {
var playerItem = AVPlayerItem(url: url as URL)
player = AVPlayer(url : url)
player.volume = 1.0
player.play()
} catch let error as NSError {
print(error.localizedDescription)
} catch {
print("AVAudioPlayer init failed")
}
}
}
in meiner Konsole ich dies immer:
gedrücktdie url = http://cdn.mos.musicradar.com/audio/samples/80s-heat-demos/AM_Eighties08_85-01.mp3
URL = Optional (file: /// private/var/mobile/Container /Data/Application/C255E8F4-DDBA-43BB-BC33-AF71C08BBDFD/tmp/CFNetworkDownload_tm0O8v.tmp)
spielende Datei:///private/var/mobile/Containers/Data/Application/C255E8F4-DDBA-43BB-BC33-AF71C08BBDFD/tmp/CFNetworkDownload_tm0O8v.tmp
URL = Optional (file: /// private/var/mobile/Behälter/Daten/Anwendungen/C255E8F4-DDBA-43Bb-BC33-AF71C08BBDFD/tmp/CFNetworkDownload_J1f2LF.tmp)
spielen file: /// private/var/mobile/Container/Daten/Anwendung/C255E8F4-DDBA-43Bb-BC33- AF71C08BBDFD/tmp/CFNetworkDownload_J1f2LF.tmp
Kann mir jemand helfen dieses Problem lösen? Ich möchte diesen Sound nur auf Knopfdruck vom Server aus nicht lokal abspielen können.
Versuchen Sie, Ihre iPhone-Gerät-Lautstärke zu überprüfen – Ved
@Ved Wenn Sie die Lautstärke überprüfen möchten? Ich überprüfte Simulator und Telefon. Das Volumen war gestiegen. – JamesG
Warst du im Silent/Vibration-Modus? – Larme