視頻播放以及Android發(fā)布

一、視頻播放

Unity自帶了兩種播放API

(1) MovieTexture(視頻紋理)
優(yōu)點(diǎn):簡單,高效的快速完成播放
缺點(diǎn):此種方法無法應(yīng)用于移動端。movietexture只能播放OGG和OVG格式的。

(2)Handheld
缺點(diǎn):
可操作性非常差,幾乎達(dá)不到我們想要的結(jié)果,而且也僅支持全屏的普通視頻的播放。
注意點(diǎn):
將視頻文件放置在Assets/StreamingAssets/路徑下,經(jīng)測試.MP4可用。

(3)視頻播放插件
第三方插件:進(jìn)行播放
GitHub有大量的視頻播放插件,自己去搜索.
EasyMovieTexture
MobileMovieTexture
MobilePlayer
Mobile movie texture for android :利用開源視頻編解碼庫Theora進(jìn)行視頻解碼,然后通過Unity Texture實(shí)現(xiàn)顯示

Unity標(biāo)準(zhǔn)接口,支持的播放視頻格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。僅支持PC端的本地視頻播放。
官方文檔給出的方式是將需要視頻放在Quickime上播放一遍,其實(shí)本質(zhì)就是將.mp4 , .mov 等視頻格式轉(zhuǎn)成.ogv,Unity才能直接識別,可以使用格式轉(zhuǎn)化工具Theora Converter .NET、ffmpeg等直接將視頻轉(zhuǎn)成.ogv.

1、MovieTexture(視頻紋理)

首先我們先來看下第一中視頻播放的API(MovieTexture(視頻紋理))我們先把一個(gè)視頻轉(zhuǎn)換成ogv的格式。轉(zhuǎn)換格式的軟件(Theora Converter .NET).


Paste_Image.png

轉(zhuǎn)換后直接將ogv格式導(dǎo)入u3D中就好可以在u3D中播放了.


Paste_Image.png
那么我們?nèi)绾螌⒁曨l放入到一個(gè)游戲?qū)ο笊夏??我們先?chuàng)建一個(gè)平面游戲?qū)ο笤跀z像機(jī)上創(chuàng)建一個(gè)腳本,然后我們寫入腳本.
    public GameObject obj;
    public MovieTexture Moviel;
    void Start ()
    {
        obj.GetComponent<Renderer>().material.mainTexture = Moviel;
        //設(shè)置視頻播放模式為循環(huán)
        Moviel.loop = true;  
    }
    void OnGUI()
    {
        if (GUILayout.Button("播放/繼續(xù)"))
        {
            if (!Moviel.isPlaying)
            {
                Moviel.Play();
            }
        }
        if (GUILayout.Button("暫停播放"))
        {
                Moviel.Pause();
        }
        if (GUILayout.Button("停止播放"))
        {
            Moviel.Stop();
        }

最后再將Plan(平面)和視頻紋理賦值,最后來看看效果,點(diǎn)擊播放效果還是不錯的.


Paste_Image.png
2、Unity標(biāo)準(zhǔn)的視頻播放接口-Handheld 掌型

首先在U3D中創(chuàng)建空文件夾并命名為StreamingAssets,將視頻文件放置在Assets/StreamingAssets/路徑下


Paste_Image.png
 void OnGUI()
    {
        if (GUI.Button(new Rect(20, 10, 200, 50), "PLAY ControlMode.CancelOnTouch"))
        {
            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
        }

        if (GUI.Button(new Rect(20, 90, 200, 25), "PLAY ControlMode.Full"))
        {
            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);
        }

        if (GUI.Button(new Rect(20, 170, 200, 25), "PLAY ControlMode.Hidden"))
        {
            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden);
        }

        if (GUI.Button(new Rect(20, 250, 200, 25), "PLAY ControlMode.Minimal"))
        {
            Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal);
        }

    }

我們發(fā)布到安卓手機(jī)上運(yùn)行下。


2C122763C9AE6BB8D378D5E5B951046D.jpg
5D757EF0B21AFA251943284E22D56F0D.jpg

二、安卓的發(fā)布

首先部署安卓環(huán)境,安裝SDK和JDK。
下載Jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Paste_Image.png

下載SDK: http://tools.android-studio.org/index.php/sdk/

Paste_Image.png
注意:必須先安裝了JDK再來部署SDK
Paste_Image.png
下載后直接安裝JDK,安裝好后然后我們部署JDK的環(huán)境變量,選擇我的電腦屬性——高級選項(xiàng)——環(huán)境變量
Paste_Image.png

Paste_Image.png
部署好JDK的環(huán)境變量后開始安裝SDK,打開SDK Manager,然后安裝相應(yīng)的SDK。
Paste_Image.png
如果沒有出現(xiàn)相應(yīng)的版本那就需要鏡像: http://www.androiddevtools.cn/
Paste_Image.png

Paste_Image.png
下載完相應(yīng)的SDK后開始部署SDK的環(huán)境變量。環(huán)境變量部署如下
Paste_Image.png
部署完后我們進(jìn)入U(xiǎn)3D中選擇File--Build settings...
Paste_Image.png
下載安卓設(shè)置后直接安裝。
Paste_Image.png

這時(shí)候我們就能夠Switch platform(轉(zhuǎn)換平臺)了,轉(zhuǎn)換后我們就要將SDK和JDK的文件位置導(dǎo)入U(xiǎn)3D中了選擇
Paste_Image.png
做好這些后我看開始設(shè)置安卓的配置。設(shè)置如下:
Paste_Image.png

Paste_Image.png

設(shè)置好這些后可以直接點(diǎn)擊Build發(fā)布我們安卓機(jī)的項(xiàng)目了.
Paste_Image.png

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • 111. [動畫系統(tǒng)]如何將其他類型的動畫轉(zhuǎn)換成關(guān)鍵幀動畫? 動畫->點(diǎn)緩存->關(guān)鍵幀 112. [動畫]Unit...
    胤醚貔貅閱讀 13,523評論 3 88
  • 阿艮閱讀 323評論 2 0
  • 本季度熱度最高的網(wǎng)絡(luò)小說改編國產(chǎn)動畫《全職高手》在下周終于要迎來第一季度的完結(jié)了。 這部動畫,從最初發(fā)布消息開始,...
    D004迪閱讀 138評論 0 1
  • 不愿在黑夜中久睡,卻在日光下長眠 2016.01.20
    啟文閱讀 183評論 0 1

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