QCMediaPlayer mediaplayer NOT present

起因

做安卓期末項目,要播放網絡視屏。
但是,無論是自帶的mediaPlayer,還是在github找的各種第三方播放器庫,都跑不起來。同樣的Url在瀏覽器是可以打開的。
永遠在報錯
QCMediaPlayer mediaplayer NOT present
這裏寫圖片描述

問題

折騰兩三天,更換各種第三方庫無解。
在StackOverFlow找到類似問題。
https://stackoverflow.com/questions/24501086/why-mediaplayer-throws-not-present-error-when-creating-instance-of-it

14
accepted
It means your platform does not support QCMediaPlayer. QCMediaPlayer provides extended APIs and interfaces to get and set MPD attributes for DASH protocol in compatible Snapdragon builds. So, this error should not affect on media playing in normal case

大概是說,平臺不支持QCMediaPlayer。
我就不動了,既然不支持,爲什麼要用這個東西呢???

我看安卓開發組說已經修復了這個bug,在2015年11月,https://github.com/owncloud/android/issues/1180。但我換用之後才發佈的android7.0虛擬機也不行。

最後解決了!!!是權限的問題!

解決辦法

在網上搜集了一些方法,不知道行不行。也許對於看到這篇文章的你是有幫助的。

1。換手機

http://itfish.net/article/56787.html
這個博主是這樣說的

常見錯誤: “無法播放此視頻” -紅米1s電信版4.4.4無法播放,但在三星s6(5.1.1)上就可以播放

但我爲了一個期末項目買部手機不現實

2.換一個mediaPlayer的創建方法

https://zhidao.baidu.com/question/1431779351470725739.html
這個答案說是這樣說的:

使用高通的手機平臺都有這個問題,MTK 平臺的就沒有。
主要是高通平臺不支持直接 new Mediaplayer(); 必須用 MediaPlayer.create(xxx)方法。
爲什麼? 問高通去。

https://stackoverflow.com/questions/24501086/why-mediaplayer-throws-not-present-error-when-creating-instance-of-it
這裏也有個叫MikeL的說用相同辦法解決的

但是我的錯誤出在別人的庫裏面,我不可能進去修改別人的庫的。

3.把AS重啓一遍

https://stackoverflow.com/questions/24501086/why-mediaplayer-throws-not-present-error-when-creating-instance-of-it
這裏有個叫Pang的說,把AS重啓就就好了。
但沒有解決我的問題。

4.有人說要添加權限

http://tieba.baidu.com/p/3477215950
看下你有沒添加互聯網訪問或者內存卡讀寫權限?(如果涉及到)

5.有人說部分MP4格式不能解碼

https://stackoverflow.com/questions/17399351/how-to-play-mp4-video-in-videoview-in-android
這裏有人說mp4只是個容器,編碼方式有很多種,而原生videoView僅支持有限種。所以可能要轉碼,不知道行不行。

6.權限寫錯位置?

這是我的問題,折騰挺久解決不了。最後找到了某個庫的開發者,發現我寫錯網絡訪問權限位置了。感謝!
issue在這裏:
https://github.com/lipangit/JiaoZiVideoPlayer/issues/1500

這是我原來的樣子,把權限申請寫到application標籤裏了。
這裏寫圖片描述
其實應該寫到外面,如下圖:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章