2011-05-24 28 views
9

Bir icecast sunucusundan bir ogg kaynağını yürütmek için ses elemanı kullanıyorum. Ses elemanı buzlu meta verileri çıkarır ve javascript ile erişmenin bir yolu var mı?HTML5 ses öğesinden Icecast meta verilerini almak mümkün mü?

Temel olarak, yayınladığım bir radyo istasyonunun "çalmakta olan" bilgilerini göstermek istiyorum. Seçeneklerim nelerdir?

Teşekkürler!

cevap

5

Hayır, HTML5 öğeleriniz yalnızca akış verilerinin farkındadır ve meta verileri almak için uygun istekte bulunmaz.

bu yayınları bakınız:

  • Developing the client for the icecast server

  • Pulling Track Info From an Audio Stream Using PHP

  • http://www.smackfu.com/stuff/programming/shoutcast.html

    Şimdi, bu hiçbir şekilde mümkün değildir. Sadece sunucu tarafında yapmalısın. (Özellikle şu ikinci bağlantıya bakın.)

    Ayrıca, tam gelişmiş SHOUTcast Sunucusunda (Icecast ile test edilmediyse de, denemeye değer), üzerinde veri içeren "7.html" yi işaret etmeliyim. virgülle ayrılmış değerler olarak dinleyicilerin, maksimum dinleyicilerin, tepe dinleyicilerin, stereo/mono, bit hızı ve geçerli parça adlarının sayısı. Bu gibisin: http://yourstreamingserver:port/7.html getirebiliyorsa

    2,1,33,625,2,128,J Mascis - Not Enough

    , o zaman çok kolay bu verileri elde edebilirsiniz.

+0

Bir sorun, ses akışıyla senkronize edilen gerçek zamanlı şarkı adını gösterir, bu shoutcast sunucusundan okunamaz (7.html), gerçek zamanlı ses akışında gömülü meta bilgilerinin okunması mümkündür. Meta veriyi javascript/html5 –

+1

@JoseNobile ile okumaktan mutluluk duyardım, maalesef, bir tercihiniz yok ... en azından uyumluluk istiyorsanız. Tarayıcı tarafından oluşturulan kodeklerden birini kullanabilir ve CORS'yi desteklemek için akışınıza bazı üstbilgileri kesebilir ve ardından saf bir JS kodekinin yükü ile başa çıkabilirsiniz. Bu çoğu için uygun değil. Ayrıca, SHOUTcast tarzı meta verilerin doğası gereği, yine de senkronizasyonun mükemmel olmadığını unutmayın. Ayrıca uzun zamandır beklenen AJAX (Socket.IO gibi) ile sunucu tarafında bir şeyler yapabilirsiniz. Akış almak için AJAX kullanarak – Brad

+0

protokol, etki alanı ve bağlantı noktası kısıtlamaları nedeniyle mümkün değildir. Shoutcast sunucusunun, Access-Control-Allow-Origin: * (CORS kullanmak için) özellik isteğini Google Chrome forumuna gönderdim http://productforums.google.com/forum/# ! kategori-konu/krom/vermek-özellik-geribildirim-ve-öneri/windows/AJQl3pwgriI –

1

Bir Ogg konteyner akışı durumunda (Hem Vorbis hem de Opus), en azından Firefox meta verilere javascript erişimini destekler. Bu şu anda yalnızca "satıcıya özel" Javascript API'sidir: audio.mozGetMetadata();

Diğer taraftan, Icecast 2.4.1 ile devam ederseniz, meta verilere bir JSON API'sı üzerinden bağımsız olarak erişebilirsiniz. Diğer yorumlarda belirtildiği gibi senkronizasyon eksikliği geçerlidir. Yine de genellikle "yeterince yakın".

İlgili konular