2011-12-14 13 views
5

Web Audio API kullanımı ile ilgileniyorum. Maalesef ses dosyalarım, Chrome'un kodunun çözemediği ezoterik bir formatta. (Onlar .wavs, ancak 32-bit float kodlama ile 96 kHz'de örneklendi.)Chrome için desteklenen ses dosyası biçimleri?

Tarayıcımı (Chrome) tam olarak hangi ses biçimlerini ve kodlamalarını desteklediğini öğrenmek için sorgulamamın bir yolu var mı?

GÜNCELLEME

Burada Chrome tarafından desteklenen dosya biçimlerinin listesini bulduktan: https://sites.google.com/a/chromium.org/dev/audio-video

cevap

3

Bir try...catch yapısı kullanılarak örnek dosyaların çeşitli yüklemeye çalışarak bu tür bir şey test edebilir ve gören. Chrome'da Web Audio API'sı ile dosya yüklemek için bkz. this tutorial. Lo-Dash kullanma

+0

Bu akıllı, teşekkürler. Yine de yapmak için daha doğrudan bir yol olmadığını şaşırıyorum ... –

0

var!

audio/vnd.wave, audio/wav, audio/wave, audio/x-wav

yapılacak en iyi şey şudur: Burada WAV dosyaları sözettiğimize Bunları ben kullanırım,

// Need to check the canPlayType first or an exception 
// will be thrown for those browsers that don't support it  

var myAudio = document.createElement('audio'); 

if (myAudio.canPlayType) { 
    // Currently canPlayType(type) returns: "", "maybe" or "probably" 
    var canPlayMp3 = !!myAudio.canPlayType && "" != myAudio.canPlayType('audio/mpeg'); 
    var canPlayOgg = !!myAudio.canPlayType && "" != myAudio.canPlayType('audio/ogg; codecs="vorbis"'); 
} 

... ne kadar güvenilir bu olduğunu biliyorum, ama yok Dosyanızın MIME türü (yukarıdaki birini olmalı) olduğunu anlamaya ve sonra böyle bir şey ile bunun için kontrol edin:

var canPlayWav = !!myAudio.canPlayType && "" != myAudio.canPlayType('MIME_TYPE_HERE'); 
if (canPlayWav) { dothis(); } else { dothat(); } 

umarım bu yardımcı olur!

Kaynak: yük FileTypes ve olmayan http://html5doctor.com/native-audio-in-the-browser/

+0

Ah bok, okumadım senin Dikkatlice soru - ses manipülasyonu için daha yeni bir API hakkında konuşuyorsunuz .... her iki şekilde de

+0

Hey Albert - Yanıtın için teşekkürler. Bu iyi bir başlangıçtır, ancak aslında tarayıcıdan biraz daha ayrıntılı bilgi almanın bir yolunu bulmayı umuyordum. Bazı .wav dosyalarını çalabileceğini biliyorum, ancak hangi örnek hızlarını, bit derinliklerini ve örnek kodlamaları işleyebileceğini ve kaç ses kanalının desteklediğini öğrenmem gerekiyor. Bu tür bilgiyi nasıl çıkaracağınız hakkında bir fikriniz var mı? –

0

olmayan bir program yolu bu siteler olacağını

(function(){ 
    var a = document.createElement('audio'), 
     types = _(navigator.mimeTypes).pluck('type'), 
     isAudio = /^audio\//, canPlay = {}; 
    if (a && a.canPlayType) { 
    types 
     .push('audio/flac', 'audio/opus', 'audio/webm', 'audio/ogg', 'audio/midi') 
     .flatten() 
     .uniq() 
     .each(function(type){ 
     if (isAudio.test(type)) { 
      canPlay[type] = !!a.canPlayType(type); 
     } 
     }); 
    } 
    return canPlay; 
})(); 
İlgili konular