2013-01-11 41 views
5

Tôi muốn phát luồng wowm .mp3 trên Android bằng Thư viện MediaPlayer mặc định. Nhưng tôi đã thử phát luồng bằng cách sử dụng các bản trình diễn API được cung cấp bởi chính Android và nó không hoạt động. Mặc dù tài liệu android tuyên bố rằng nó có.Dòng Wowza .mp3 RTSP trên android

http://developer.android.com/guide/appendix/media-formats.html

Tôi đã kiểm tra các tài liệu Wowza và tôi phát hiện ra rằng con suối .mp3 rtsp không thể chơi trên bất kỳ thiết bị Android. http://www.wowza.com/forums/content.php?62

Tôi băn khoăn rằng vấn đề thực sự ở đây là gì vì một tài liệu tuyên bố rằng nó hoạt động và tiểu bang khác nói rằng nó không có vấn đề gì? Ai có thể làm ơn nói cho tôi ?

+1

Bạn đang diễn giải sai tài liệu Android - để trích dẫn * Đối với nội dung video được phát qua HTTP hoặc RTSP * tức là, không có cách nào khác! Ngoài ra, * Các giao thức mạng sau đây được hỗ trợ để phát lại âm thanh và video: * điều đó không có nghĩa là phát trực tuyến bằng RTSP được hỗ trợ cho MP3. Các tài liệu trên wowza là chính xác! Dường như tài liệu Android chưa được cập nhật để làm rõ điều này. Không thể làm! – t0mm13b

+0

@ t0mm13b hmm cảm ơn. Vì vậy, dòng dưới cùng là chúng tôi không thể chơi .mp3 trên rtsp nhưng chúng tôi có thể chơi .mp4 (video) trên rtsp nếu mã hóa là theo yêu cầu mã hóa video được cung cấp bởi android? tức là một mp4 bình thường sẽ không phát trên rtsp cho đến khi nó được mã hóa theo yêu cầu. –

+0

Vâng, đúng vậy. – t0mm13b

Trả lời

3

Bạn nên sử dụng HTTP streaming cho các file nhạc MP3, điều này được hỗ trợ bởi Wowza, tài liệu tham khảo: http://broadcastengineering.com/products/wowza-expands-media-server-2-http-streaming-ability

Bạn cũng có thể tìm thấy các thông số kỹ thuật MP4 dành cho Android hoặc thậm chí những người mà được hỗ trợ bởi nhiều nền tảng và sử dụng những. Tùy thuộc vào băng thông kết nối của bạn, 480p hoặc 720p với âm thanh AAC sẽ hoạt động ở mọi nơi.

+0

Thanx cho câu trả lời tuyệt vời. Tôi gặp sự cố khi phát lại âm thanh mp3 trong ứng dụng Android của mình. Bây giờ Wowza có thể đổi nó thành http nếu tôi nhận được nó. Vì vậy, tôi phải làm gì trong ứng dụng của mình để phát âm thanh với trình phát đa phương tiện Android gốc? Chỉ cần chuyển giao thức từ rtsp: // ... url của tôi ... sang http: // ... url của tôi ... Tôi đã thử và nó không hoạt động .. (giữ đệm 4 bao giờ) –

+0

bạn sẽ cần phải cấu hình các thông số wowza cho phù hợp, tiếc là tôi đã không làm điều đó gần đây và sẽ không thể cung cấp chi tiết cụ thể vào lúc này. – tazzix

+0

mô hình duy nhất được cung cấp bởi Wowza cho android là rtsp, không có dịch vụ http nào hoạt động –

0

Tôi đã gặp phải sự cố tương tự khi phát triển trình phát phương tiện Android. Tôi tách âm thanh ra khỏi tệp .mp4 bằng iMove. Nó rất dễ dàng để làm điều đó, nhấp đúp vào video và chọn tách âm thanh, sau đó xóa theo dõi âm thanh.

Tôi truyền phát theo dõi video và theo dõi âm thanh riêng biệt, như đối với video tôi đang sử dụng rtsp, đối với âm thanh, tôi đang sử dụng máy chủ web apache, android có thể đọc âm thanh tĩnh, giống như đọc tệp cục bộ.

BTW, tôi đã thử sử dụng mọi giao thức do Wowza cung cấp để truyền trực tuyến .mp3, không có công cụ nào trong số đó hoạt động.

Mã của tôi là như sau:

public void PlayVideo() { 
     MediaController vidControl = new MediaController(this); 
     vidControl.setAnchorView(VideoPlayer); 
     VideoPlayer.setMediaController(vidControl); 


     VideoPlayer.setVideoPath("rtsp://137.110.90.123:1935/vod/SamNoSound.mp4"); 


     VideoPlayer.start(); 

    } 

public void PlayAudio() { 
     //play audio 
     String url = "http://137.110.90.123/~chenyu/sample.mp3"; // your URL here 

     try { 
      AudioPlayer.setDataSource(url); 
      AudioPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
      AudioPlayer.prepare(); 
      AudioPlayer.start(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

tôi sẽ nói nếu bạn thực sự muốn nhấn mạnh trên trực tuyến, tôi sẽ khuyên bạn nên sử dụng VLC, lệnh của tôi cho streaming .mp3 là:

Chỉ Suối Âm thanh

vlc /Users/chenyu/Sites/XXXX.mp3 -I http --sout "#transcode{ab=128,samplerate=44100,channels=2,acodec=mpga,vcodec=none}:gather:rtp{mp4a-latm,sdp=rtsp://137.110.92.231:5554/stream.sdp}" 
Các vấn đề liên quan