2013-05-17 18 views
7

Bu, Google'ın Google Müzik için Tam Erişim yayınlamasını ancak akışa (sahip olmayan) medya için JSON yanıtındaki URL dizisinin akışa izin vermeyen URL'ler içerdiği bir gün. Buna hiç kimse baktı mı? Bir saniyenin bir kısmı için oynarlar ve sonra sona erer.Android Google Müzik API'si - Tümü Erişim

cevap

2

bunu içine bakarak ve oldum ben bulamadım gerçi bu yapılması gereken şeylerin belirlenmesinde yararlı olabilir inandığımız bir çözüm: URL'ler bir dizi param var ama fark

Bildirim o ilki gibi olabilir:

range=0-39706 

Ama sonraki olacaktır: bir sonraki bölüm nerede öncesi daha az bir değerde başlayacağını söyledi tuhaf görünüyor

range=37615-119118 

iddialı segment bitti. Yüksek seviyeli tahminim, bu aralığı kullanan bir dosyaya yazmamız ve baytları uygun şekilde sıralamak için sırayla eklememiz gerektiğidir.

Ama bu benim tahminim, bunu yapmayı denemedim ama üzerinde çalışıyorum.

GÜNCELLEME

başarıyla böylece Android değil Qt çerçevesini kullanarak ++ yukarıda gerçekleştirilebilir, ancak C var. Ama benim uygulamamda bir sorun var gibi görünüyor çünkü her segmentin tuhaf bir gıcırtı sesi var, bu yüzden bayt pozisyonunu biraz ayarlamaya ihtiyacım var, ama şimdi bütün şarkıyı anlayabiliyorum. Sadece her segment için başlangıç ​​bayt dışarı ayrıştırmak aracılığıyla

File file = new File("tempFile"); 
file.open(WRITE_ONLY); 
file.write(startingByte, data); 

Ve döngü gibi: Bu Android'e çevirmek istiyorum ama o gibi bir şey olacağını düşünüyorum nasıl

tam emin değilim.

DÜZENLEME

sorunum ben her segmentin sonra dosyayı kapatma olmasıydı öğrendim. Dosyayı tüm bölümleri yazmayı bitirene kadar açık bırakırsam, şarkı mükemmel bir şekilde çalınır.

+0

Örtüşen bayt aralıkları nasıl işlediniz? Her bir ardışık dosya için bayt pozisyonunu geri aldınız mı? İlk denememde, dosya çıkış akışını belirttiğiniz gibi açık bıraktım, ancak tüm baytları sıralı olarak yazdım, çakışmayı göz ardı ettim ve o gıcırtıyı alıyorum. – Baron

+0

Bunu anladım ... evet, her parçadaki verileri, her parça için url'de gösterilen aralık başlangıç ​​değerini kullanarak eklediğinizde, son çıktı dosyasındaki bayt konumunu geri sarmanız gerekir. – Baron