2017-04-22 3 views
1

Ich kann meine MP3-Datei von einem Controller aus abspielen, aber die von meinem Controller gelieferte Datei wird nicht in ios AvPlayer wiedergegeben (mit URL). Ich bin mir sicher, dass mein Client-Code in Ordnung ist, da er Songs von anderen Servern abspielen kann. Sie können auch meinen Server von dem Link, den ich am Ende geschrieben habe, überprüfen und sehen, dass mein Controller die Datei bedient.MP3-Datei von Laravel für iOS bereitstellen AvPlayer

sollte ich der Antwort einen bestimmten Header hinzufügen, damit der AvPlayer meine URL unterstützt?

mein Laravel Controller-Code jetzt:

$response = new BinaryFileResponse($file); 
    BinaryFileResponse::trustXSendfileTypeHeader(); 

    return $response; 

hier ist ein Beispiel für Link, das funktioniert, wie ich http://s3.amazonaws.com/kargopolov/BlueCafe.mp3

wollen und hier ist mein das funktioniert nicht http://projectm.e-rundev.ir/api/song/download/11.mp3

alle Richtungen geschätzt würde in Fortschritt

Antwort

1

Hier ist der Code, der funktioniert

$file = storage_path() . '/upload/song/' . $filename; 
    $mime_type = "audio/mpeg"; 
    $headers = array(
     'Accept-Ranges: 0-' . (filesize($file) -1) , 

     'Content-Length:'.filesize($file), 
     'Content-Type:' . $mime_type, 
     'Content-Disposition: inline; filename="'.$filename.'"' 

    ); 
    $fileContents = File::get($file); 
    return Response::make($fileContents, 200, $headers);