Android 應用程序如何實現在線播放網路視頻呢?

一個視頻Url例如:

http://172.19.32.159:8088/test/content/2011-08/28/content_140098.3gp

我想在本地Android應用中在線播放這個視頻。

我用如下方法試過了,貌似要等待很久很久才能播放:

Uri uri = Uri.parse( videoUrl );

Intent intent = new Intent(Intent.ACTION_VIEW,uri);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.setType("video/*");

intent.setDataAndType(uri , "video/*");

startActivityForResult(intent);

有其他方法嗎?

ps:我想實現的是邊下載邊播放。


是否能Streaming播放,其實依賴於幾個方面。

首先,視頻格式本身要有streaming的能力,這個有兩種程度,第一種,是順序播放的能力,也就是說,只要從頭開始下載了,後面的數據就可以進行播放了,但不能跳過一些部分不下載也進行後面內容的播放;還有一種是真正的streaming,也就是可以快進的那種,可以跳到任意位置進行播放。

其次,播放軟體要能夠支持streaming,其實android原生帶的解碼器對於常用的streaming格式都是支持的,比如mp4/3gp/rtsp,當然,也會有些不支持,那麼就需要自己想辦法實現了。

上面兩點,參考資料:http://groups.google.com/group/android-developers/msg/2175bba33a09b262

此外,不同廠商,尤其是不同的晶元生產商,在適配解碼器的時候會稍有不同,也可能會有些格式不支持。有的設備能夠steaming,有的不能也屬於正常情況。

參考資料:http://stackoverflow.com/questions/4461964/error-while-playing-3gp-video-stream-in-some-phones


最簡單的做法是直接用videoview


之前也想做在線播放streaming的例子,可是研究之後雖然android號稱是支持流媒體播放的,但是實際情況差強人意

你可以開另外的線程下載下來,做個緩衝區,網上的例子還是不少的


vitamio三方視頻播放框架,直接集成sdk使用api播放視頻


調試的時候看下後台載入的數據呢,我記的demo里有一個是專門介紹播放器的,裡面是載入到一定百分比才開始播放的


推薦閱讀:

以 92% 成功率劫持 Gmail 應用是怎麼回事,真的可以實施嗎?
手帳APP好用不,跟實體手帳比有什麼不一樣的體驗?
IM 應用 Telegram 是如何保障通信安全私密的?
如何從一個人手機中下載的應用了解這個人?

TAG:視頻 | 多媒體播放器軟體 | Android應用 | Android開發 | Android手機 | Android |