關(guān)于 拍攝視頻 java.lang.RuntimeException: start failed

用華為手機(jī)測試小視頻功能,在調(diào)用小視頻時(shí),竟然崩潰了.
報(bào)錯(cuò)內(nèi)容是

RuntimeException: setDataSource failed: status = 0xFFFFFFEA in setDataSource()

然后開始排查,找資料.以為是參數(shù)設(shè)置問題,和華為手機(jī)不兼容,畢竟在其他手機(jī)沒事,當(dāng)通過手機(jī)文件管理器檢查文件時(shí)發(fā)現(xiàn),本地文件是 0KB ,所以就定位到開始拍攝的方法,結(jié)果在調(diào)用 mMediaRecorder.start() 時(shí),拋了異常,

 java.lang.RuntimeException: start failed

針對這個(gè)異常開始百度谷歌,網(wǎng)上也有很多文章去寫這個(gè),有的說是錄像參數(shù)設(shè)置導(dǎo)致的,也有的說是SDK版本導(dǎo)致的,經(jīng)過各種實(shí)驗(yàn)并沒有解決問題,最后改了下拍攝視頻的分辨率從自動(dòng)運(yùn)算最優(yōu)分辨率改為 640*480,結(jié)果就好了..... 好了....

臨時(shí)將以前的方法更改了一下,問題就解決了,以后再具體查一下什么原因?qū)е碌?/p>

    /**
     * 獲取手機(jī)相機(jī)所支持的分辨率,并取第二位的分辨率為拍攝分辨率
     *
     * @return
     */
    private Camera.Size getOptimalSize(List<Camera.Size> sizes, int w, int h) {
        Camera.Size optimalSize = sizes.get(sizes.size() > 1 ? 1 : 0);
         /*
            注釋以下代碼原因,在有些手機(jī)上, 如華為,
            最佳分辨率拍攝會(huì)導(dǎo)致,拍攝失敗
            java.lang.RuntimeException: start failed
          */
//        float targetRadio = h / (float) w;
//        float optimalDif = Float.MAX_VALUE; //最匹配的比例
//        int optimalMaxDif = Integer.MAX_VALUE;//最優(yōu)的最大值差距
//        for (Camera.Size size : sizes) {
//            float newOptimal = size.width / (float) size.height;
//            float newDiff = Math.abs(newOptimal - targetRadio);
//            if (newDiff < optimalDif) { //更好的尺寸
//                optimalDif = newDiff;
//                optimalSize = size;
//                optimalMaxDif = Math.abs(h - size.width);
//            } else if (newDiff == optimalDif) {//更好的尺寸
//                int newOptimalMaxDif = Math.abs(h - size.width);
//                if (newOptimalMaxDif < optimalMaxDif) {
//                    optimalDif = newDiff;
//                    optimalSize = size;
//                    optimalMaxDif = newOptimalMaxDif;
//                }
//            }
//        }
        return optimalSize;
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容