成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

螢石云視頻EZOpenSDK集成(實現(xiàn)播放,視頻放大功能)

BingqiChen / 2582人閱讀

摘要:推薦閱讀封裝之路學(xué)習(xí)資源分享合集去年在項目中用到了螢石云視頻,它的項目源碼很多,找到有用的代碼很費時間,所以今天寫成文章把集成步驟,預(yù)覽功能,雙擊放大,手勢放大功能以及注意事項等分享給大家。

推薦閱讀:
SurfaceView+MediaPlayer封裝之路
Android學(xué)習(xí)資源分享合集(1)

去年在項目中用到了螢石云視頻,它的項目源碼很多,找到有用的代碼很費時間,所以今天寫成文章把集成步驟,預(yù)覽功能,雙擊放大,手勢放大功能以及注意事項等分享給大家。
效果圖如下:

螢石開發(fā)平臺地址:
https://open.ys7.com/

點擊"文檔"進入螢石云開發(fā)平臺開發(fā)文檔使用。

集成步驟:

1. 創(chuàng)建應(yīng)用
首先,你需要在螢石開放平臺官網(wǎng)的 “ 開發(fā)者服務(wù)-我的應(yīng)用-應(yīng)用秘鑰 ” 查看Appkey。
2.安裝 SDK

dependencies {    compile "com.hikvision.ezviz:ezviz-sdk:4.5.1" }

3. 配置 Android 權(quán)限

 








4. 配置 build.gradle

defaultConfig {
       ...
        targetSdkVersion 22//小于23
       ...
        ndk {
            abiFilters "armeabi-v7a"http://只支持32位
        }
    }
     sourceSets {
        main {
            jniLibs.srcDirs = ["libs"]
        }
    }

注意:
(1).目前提供所有so均為32位,只能在armeabi-v7a引用,所以需要添加

ndk {
    abiFilters "armeabi-v7a"http://只支持32位
}

(2).targetSdkVersion設(shè)置為23及以上,在android6.0系統(tǒng)的手機上會出現(xiàn)沒有權(quán)限崩潰的情況,因為android6.0牽扯到Dangerous Permissions問題,如果需要使用高版本,需要自己處理Dangerous Permissions。

5. 配置 AndroidManifest.xml



 
       
            
            
        
   

6.代碼初始化
要在Application中初始化

/**
* APP_KEY請?zhí)鎿Q成自己申請的
*/
EZOpenSDK.initLib(this, APP_KEY, "");

代碼混淆直接去看開發(fā)文檔,這里就省略了。

7.重要名詞解釋:

初始化流程

1.初始化SDK-initLib,也就是在Application。

EZOpenSDK.initLib(this, APP_KEY,"");

2.獲取AccessToken.

EZOpenSDK.getInstance().setAccessToken("您要填的Token值");

3.您購買的攝像機設(shè)備添加在螢石云APP上。(直接在下載APP通過序列號添加)

如果您開發(fā)中還要獲取設(shè)計列表等等的功能請直接查看螢石云開發(fā)平臺文檔。

播放視頻流程及實現(xiàn)代碼:

播放流程:

1.初始化EZPlayer調(diào)用EZOpenSDK的createPlayer,詳見api;
2.預(yù)覽播放成功后可以進行以下操作:錄像、拍照、畫面翻轉(zhuǎn)、對講、云臺控制、聲音開關(guān)、視頻畫面縮放、拖動進度播放,詳見api的EZPlayer,其中設(shè)備控制該接口的如云臺控制和鏡頭顯示功能、對講,屬于限制級接口,要優(yōu)選通過判斷設(shè)備的能力集來調(diào)用,設(shè)備能力集請查看EZDeviceInfo對象的屬性值來判斷具體方法;
3.關(guān)于對講功能,如果預(yù)覽播放有聲音輸出,則在開啟對講前需要關(guān)閉預(yù)覽播放的聲音closeSound,關(guān)閉對講后開啟預(yù)覽播放的聲音openSound,詳見demo;
4.EZOpenSDK中的setVideoLevel設(shè)置視頻清晰度(videoLevel),此調(diào)節(jié)可以在視頻播放前設(shè)置也可以在視頻播放成功后設(shè)置,視頻播放成功后設(shè)置了清晰度需要先停止播放stopRealPlay然后重新開啟播放startRealPlay才能生效;
5.開始播放之后在消息回調(diào)中會收到a、成功消息:EZRealPlayConstants.MSG_REALPLAY_PLAY_SUCCESS,b、失敗消息:EZRealPlayConstants.MSG_REALPLAY_PLAY_FAIL,失敗回調(diào)時查看errorCode,如果為400035(需要輸入驗證碼)和400036(驗證碼錯誤),則需要開發(fā)者自己處理讓用戶重新輸入驗證密碼,并調(diào)用setPlayVerifyCode設(shè)置密碼,然后重新啟動播放。

實現(xiàn)代碼:
布局主要控件是SurfaceView,SurfaceView的用法大家應(yīng)該都知道吧,主要實現(xiàn)了implements SurfaceHolder.Callback接口,聲明SurfaceView 對象,并實方法,代碼如下:

private SurfaceView mRealPlaySv = null;
private SurfaceHolder mRealPlaySh = null;
mRealPlaySh = mRealPlaySv.getHolder();
mRealPlaySh.addCallback(VideoActivity.this);
@Override

public void surfaceCreated(SurfaceHolder holder) {

    if (mEZPlayer != null) {

        mEZPlayer.setSurfaceHold(holder);
    } else {

    }
    mRealPlaySh = holder;
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
    if (mEZPlayer != null) {
        mEZPlayer.setSurfaceHold(null);
    }
    mRealPlaySh = null;

}

1.初始化EZPlayer,綁定設(shè)備,開始播放。

mEZPlayer = YourApplication.getOpenSDK().createPlayer(deviceSerial, cameraNo);//綁定設(shè)備
        mEZPlayer.setHandler(mHandler);
        mEZPlayer.setSurfaceHold(mRealPlaySh);
        mEZPlayer.startRealPlay();//開始播放

2.播放回調(diào)

/*
視頻的回調(diào)
 */
@Override
public boolean handleMessage(Message msg) {
    //   Log.e("回調(diào)","true+zong"+msg);
    switch (msg.what) {
//播放成功的回調(diào)
        case EZConstants.EZRealPlayConstants.MSG_REALPLAY_PLAY_SUCCESS:

break;

}

return false;
}
視頻放大,手勢放大功能

在播放成功的回調(diào)里加上 setRealPlaySvLayout();方法,方法的代碼如下:

private void setRealPlaySvLayout() throws InnerException, PlaySDKException {
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int whdth = dm.widthPixels;
    int height = dm.heightPixels;
    mRealPlayTouchListener.setSacaleRect(Constant.MAX_SCALE, 0, 0, whdth, height);
    setPlayScaleUI(1, null, null);
}
private void setPlayScaleUI(float scale, CustomRect oRect, CustomRect curRect) {
    if (scale == 1) {
         
        try {
            if (mEZPlayer != null) {
                mEZPlayer.setDisplayRegion(false, null, null);
            }
        } catch (BaseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else {
       
        if (mPlayScale == scale) {
            try {
                if (mEZPlayer != null) {
                    mEZPlayer.setDisplayRegion(true, oRect, curRect);
                }
            } catch (BaseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return;
        }
        try {
            if (mEZPlayer != null) {
                mEZPlayer.setDisplayRegion(true, oRect, curRect);
            }
        } catch (BaseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    mPlayScale = scale;
}
強調(diào):

1.必須在onDestory()方法上注銷,否則會報錯,代碼如下:

@Override
protected void onDestroy() {
    super.onDestroy();
    if (mEZPlayer != null) {
        mEZPlayer.release();
    }
 
}

2.暫停播放的方法

mEZPlayer.stopRealPlay();

如果有什么不清楚的可以加我公眾號或者加微信,希望對大家有所幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67626.html

相關(guān)文章

  • Android-再次解讀螢石視頻

    摘要:前言我之前寫過一篇螢石云的集成文章,很多人問我有沒有,今天我再次總結(jié)一下,并加個些功能。 前言 我之前寫過一篇螢石云的集成文章,很多人問我有沒有demo, 今天我再次總結(jié)一下, 并加個些功能。 集成步驟 視頻預(yù)覽播放 視頻放大縮小 視頻的質(zhì)量切換 截圖 視頻加載細節(jié) 之前的文章大家可以看下面的鏈接:https://mp.weixin.qq.com/s/V4... 先看效果圖:sho...

    Amio 評論0 收藏0
  • 【收藏篇】32篇技術(shù)博文匯總(九月總結(jié))

    摘要:首先先祝大家國慶節(jié)快樂今天距離為我運營公眾號已經(jīng)一個月了,今天把文章整合一下,希望對大家有幫助,也謝謝朋友的支持,我會繼續(xù)堅持原創(chuàng),寫更好的文章給大家一視頻獲取學(xué)習(xí)資源分享合集二功能篇實現(xiàn)金額的語音播報功能基于模式風(fēng)格的封裝之路炫酷動畫跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...

    whlong 評論0 收藏0
  • 【收藏篇】32篇技術(shù)博文匯總(九月總結(jié))

    摘要:首先先祝大家國慶節(jié)快樂今天距離為我運營公眾號已經(jīng)一個月了,今天把文章整合一下,希望對大家有幫助,也謝謝朋友的支持,我會繼續(xù)堅持原創(chuàng),寫更好的文章給大家一視頻獲取學(xué)習(xí)資源分享合集二功能篇實現(xiàn)金額的語音播報功能基于模式風(fēng)格的封裝之路炫酷動畫跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...

    Eric 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<