2010-11-22 11 views
1

Metin-konuşma kullanarak oluşturduğum ses dosyalarını sunan bir C# işleyicisi var. Dosyalar diske yazıldığında, kulağa hoş geliyorlar, ama bir quicktime eklentisi kullanarak bir tarayıcıda (işleyici aracılığıyla) çalmaya çalıştığımda, onları yaklaşık 2 saniye kısaltır. Aşağıdaki kodu kullanarak ediyorum işleyicisi içinde wav dosyalarını açmak için bir C# işleyicisi kullanarak kısa ses keser (sadece birkaç saniye)

...

context.Response.ClearContent(); 
context.Response.ClearHeaders(); 
context.Response.ContentType = "audio/x-wav"; 

context.Response.WriteFile(fileName); 
context.Response.Flush(); 

Herkes yanlış yaptığımı biliyorum?

cevap

3

Sen öneri için, doğrudan OutputStream

context.Response.ClearContent(); 
context.Response.ClearHeaders(); 
context.Response.ContentType = "audio/x-wav"; 
byte[] byteArray = File.ReadAllBytes(fileName); 
context.Response.OutputStream.Write(byteArray, 0, byteArray.Length); 
+0

Merhaba sayesinde ikili veri olarak dosyayı yazmaya çalışmalısınız. Bunu denedim ve aynı sonucu aldım. Gerçekten garip! Başka ne denenebilir emin değilim. –

+1

İşleyiciyi farklı bir ortamdan aramayı deneyin, bir quicktime eklentisi olan bir tarayıcı değil. belki bir çeşit indirme yöneticisi. Tüm dosyayı alsanız bakın. – Variant

+1

VLC oynatıcısında ses dosyasını URL'den çağırarak çalışır. Sorunun, Quicktime'ın aranan bir sayıda bayt isteyeceğini düşünüyorum, belki de bunu OutputStream.Write çağrısına dahil etmeli ve başlangıç ​​baytlarını almalıyım. –

İlgili konular