我正在開發一個聊天,我們有高品質的表情符號與擴展mp4(文件大小約300kb)。由於質量差和顏色有限(256),不使用GIF格式。
我需要將ListView中的文件顯示爲循環視頻。 現在我正在嘗試使用TextureView和MediaCodec類來做到這一點。 來源可在https://github.com/google/grafika找到。
問題是,當您嘗試同時播放超過4個視頻時,發生錯誤 IllegalStateException在android.media.MediaCodec.dequeueOutputBuffer。 我認爲這是因爲在我的設備(HTC ONE M7)上播放4個視頻時,內存消耗大, ,處理器加載超過60%!
我該如何解決這個問題?也許我需要使用第三方編解碼器?
或者使用視頻來顯示笑臉的想法是不好的,我需要放棄並使用像GIF的東西?Android:同時播放許多視頻
4
A
回答
1
同步解碼器的數量是有限制的,如果沒有其他原因,在某些時候你會超過硬件的最大帶寬。在一些設備上,我已經看到它在配置了兩個硬件解碼器之後切換到軟件解碼。 AFAIK在這裏沒有強制行爲。
您的問題的一種可能的解決方案是擁有一個單一的多路複用視頻,您可以將所有表情符號放在一個.mp4文件中。將其播放到SurfaceTexture中,然後用作「sprite sheet」。這種方法要求所有動畫具有大致相同的幀數,因此您可能需要調整一些或僅填充序列。
更新:根據this link的「M」發行,預定增加MediaCodecInfo.CodecCapabilities.getMaxSupportedInstances()
,它提供了「爲支持的併發編解碼器實例的最大數量的暗示。」對你的問題沒有幫助,但至少會給你一個數字。希望API能夠將視頻分辨率考慮在內。
+0
謝謝,我仍然堅信使用GIF會更好。 – 2014-11-24 07:03:33
相關問題
- 1. Android多視頻播放器
- 2. Android VideoView同時播放2個視頻
- 3. 同時播放多個視頻
- 4. PHP同時播放多個視頻
- 5. 同時播放多個視頻ExoPlayer
- 6. 從列表框中播放所選視頻同時播放多個視頻
- 7. android視頻播放
- 8. Android視頻播放?
- 9. Android播放視頻
- 10. iPhone:同時播放音頻和視頻
- 11. 同時播放HTML5視頻和音頻
- 12. 媒體播放器同步播放音頻和視頻android
- 13. 使用HTML5在Android上同時播放多個視頻
- 14. 在Android中與聲音同時播放多個視頻
- 15. 同時在Android中播放多個視頻文件
- 16. 使用AVPlayer在iPhone上播放許多不同的視頻
- 17. Android:同步視頻播放和錄製
- 18. Android - 不同的播放視頻方式
- 19. 在Android中同時播放音頻和視頻
- 20. 在視頻播放中播放視頻
- 21. 視頻播放器播放視頻
- 22. 只播放一個視頻同時
- 23. 同時播放兩個視頻
- 24. 問題,同時播放視頻從ALAssetLibrary
- 25. 同時播放兩個視頻
- 26. OpenCV同時播放2個視頻
- 27. Android:實時流視頻URL播放器
- 28. 在Android上下載時播放視頻
- 29. Android的實時視頻流不播放
- 30. Android應用播放視頻
您無法在android上的線程中啓動線程。你必須爲它創建一個單獨的線程任務,並讓android的工作線程處理它們,然後誰又將信息反饋給你的UI線程。 Asynctask適合加載小視頻,但對於長期應用程序,您將需要一個服務。 – 2014-11-21 08:23:25
那麼,據我所知,只有4名工友,我猜他們最多隻有4個視頻。 – 2014-11-21 09:10:05
所有視頻已經在不同的線程中播放。 – 2014-11-21 09:10:40