2012-01-18 25 views
5

Ses HTML5 etiketini kullanarak bir dosyayı yayınlamaya çalışıyorum. Denetleyici eylemini bir FileStream döndürüp ses için src'ye ekledim. Bununla birlikte, içerik ses etiketine yüklenmiyor ve varsayılan oynat düğmesine bastığımda oynatılmıyor. Doğrudan src'ye eriştiğimde denetleyicinin çalıştığını biliyorum. Ancak, HTML5 ses etiketinde çalışmaz.Akış MP3 dosyası MVC3

Neyi kaçırdığımı söyleyen var mı?

cevap

6

Sen dönmelidir, bir FileStream dönmemesi böyle bir FileStreamResult veya denetleyici eylem bir FilePathResult:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult MyAudio() 
    { 
     var file = Server.MapPath("~/app_data/test.mp3"); 
     return File(file, "audio/mp3"); 
    } 
} 

ve ~/Views/Home/Index.cshtml görünüm:

@{ 
    Layout = null; 
} 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Sound Sample</title> 
</head> 
<body> 
    <article class="audio"> 
     <header> 
      <h2>Some audio</h2> 
     </header> 

     <audio controls> 
      <source src="@Url.Action("myaudio")" type="audio/mp3" /> 
      <p>Your browser does not support HTML 5 audio element</p> 
     </audio> 
    </article> 
</body> 
</html> 
+0

dosyayı iade olmaz Sadece tarayıcının dosyayı tam olarak indirmesine ve sonra oynatmaya başlamasına neden olur mu? Aksine daha sonra akış? –