2011-02-01 24 views
8

Android'de bir bayt akışından video oynatmanın herhangi bir yolu var mı? Belirli bir iletişim ara katman yazılımı kullanıyorum, bu yüzden http/rtsp bağlantısını MediaPlayer nesnesine iletemiyorum.Videoyu bir bayt akışından Android'te oynatma

Akışımı yerel bir http/rtsp bağlantısıyla sarabilir miyim diye merak ettim, böylece dosyayı oynatmak için indirilene kadar beklemek yerine akışı çalabilirim.

Ara katman yazılımım TCP üzerinden çalışır, bu yüzden rtsp datagramlarımı bir tcp datagramı ile sarmalayabildiğimi ve TCP başlıklarını kaldırdıktan sonra istemcide yorumlayabileceğimi düşündüm.

MediaPlayer'a bir bayt akışını iletemediğime gerçekten şaşırdım. Şimdiden teşekkürler.

+0

Bu ilginç bir konu ... Düşünebildiğim en iyi yöntem, bir çeşit arabelleğin yerini almanın bir yolu olarak uygulama dizininde geçici dosyalar oluşturmaktır. – mdelolmo

+4

Bazı baytları sadece bir dekodere aktaramaz ve görüntüyü deşifre edemezsiniz .. MPEG4 akışı olmadıkça ... bir şeyler yapabilmenizden daha iyi olamaz. Ne tür bir video akışı olduğunu söyleyebilir misin? Eğer h264 ise, hangi profil seviyesi? SDP'niz var mı? – Cipi

+0

Telefonla kaydedilen 3gp dosyaları ile deniyordum. Öncelikle, en az (yaklaşık 2000 KB) aldım ve sonra bir MediaPlayer oluşturun, ancak bunu yaparken hazırla() çöker, arabellek bir dosyaya kopyalamayı denedim. SPD oturumu nasıl oluşturacağımı bilmiyorum. Gerçek şu ki, kod çözme hakkında fazla bir şey bilmiyorum. Öğreticiler için Linkler takdir edilecektir. – Pedriyoo

cevap

1

Android'de özel akış, düşündüğüm kadar kolay değil. Bunu sadece çok özel videolar ile yapmayı başardım. MPEG4 İyi şekilde bölünmemiş videolar yayınlanabilir gibi görünüyor. Ben kazanılmış ettik farest Bu video akışı olduğu: Cipi cevap beni şöyle

http://www.pocketjourney.com/downloads/pj/video/famous.3gp

, çoğu formatlar sadece bir bayt tamponu içinde paketlenmiş ve MediaPlayer iletecek edilemez. Bazı başlıklara, kuyruklara vb. Ihtiyaçları var. Yukarıda belirtilen dosyada hangi formatın bulunduğundan emin değilim, ama sanırım MPEG4.

+10

'u yanıtladığınız için teşekkür ederiz. Bazı kodları gösterebilir misiniz? Ben de aynı şeyi yapmaya çalışıyorum. –

+0

@Pedriyoo evet nasıl yaptığını paylaşır mısınız? – AFgone

+0

16kbps, android'de medya ödeme sınıfı aracılığıyla oynatılamaz –