国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【小沐學(xué)Unity3d】Unity播放視頻(VideoPlayer組件)

這篇具有很好參考價值的文章主要介紹了【小沐學(xué)Unity3d】Unity播放視頻(VideoPlayer組件)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、簡介

使用視頻播放器組件可將視頻文件附加到游戲?qū)ο螅缓笤谶\行時在游戲?qū)ο蟮募y理上播放。

  • 視頻播放器 (Video Player) 組件:

unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

屬性 功能
Source 選擇視頻源類型。Video Clip:將視頻剪輯分配給視頻編輯器。使用此字段來定義分配給視頻播放器組件的視頻剪輯。將視頻文件拖放到此字段中,或單擊該字段右側(cè)的圓圈,然后從資源列表中選擇文件(如果該文件位于 Project 文件夾中)。
Play On Awake 勾選 Play On Awake 復(fù)選框可在場景啟動時播放視頻。如果希望在運行時的另一個點觸發(fā)視頻播放,請取消勾選此復(fù)選框。此情況下可使用 Play() 命令通過腳本觸發(fā)視頻播放。
Render Mode 使用下拉選單來定義視頻的渲染方式。Camera Far Plane:在攝像機的遠(yuǎn)平面上渲染視頻。Camera Near Plane:在攝像機的近平面上渲染視頻。Render Texture:將視頻渲染到渲染紋理中。Material Override:通過游戲?qū)ο箐秩酒鞯牟馁|(zhì)將視頻渲染到游戲?qū)ο蟮倪x定紋理屬性中。API Only:將視頻渲染到 VideoPlayer.texture 腳本 API 屬性中。必須使用腳本將紋理分配給其預(yù)期目標(biāo)。

2、腳本播放示例

以下腳本演示了 VideoPlayer 組件的一些功能。

  • (1)在層級樹上新建一個空對象

unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (2)在項目面板通過鼠標(biāo)右鍵菜單,新建一個腳本對象,內(nèi)容如下:
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
// VideoPlayer 函數(shù)示例

using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        // 將一個 VideoPlayer 附加到主攝像機。
        GameObject camera = GameObject.Find("Main Camera");

        // 將 VideoPlayer 添加到攝像機對象時,
        // 它會自動瞄準(zhǔn)攝像機背板,無需更改 videoPlayer.targetCamera。
        var videoPlayer = camera.AddComponent<UnityEngine.Video.VideoPlayer>();

        // Play on Awake 默認(rèn)為 true。將它設(shè)置為 false 以避免下面設(shè)置的 URL
        // 自動開始播放,因為我們處于 Start() 狀態(tài)。
        videoPlayer.playOnAwake = false;

        // 默認(rèn)情況下,添加到攝像機的 VideoPlayer 將使用遠(yuǎn)平面。
        // 讓我們改為瞄準(zhǔn)近平面。
        videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.CameraNearPlane;

        // 這將使場景通過正在播放的視頻可見。
        videoPlayer.targetCameraAlpha = 0.5F;

        // 設(shè)置要播放的視頻。URL 支持本地絕對或相對路徑。
        // 此處使用絕對路徑。
        videoPlayer.url = "file:///D:/basketball.mp4";

        // 跳過前 100 幀。
        videoPlayer.frame = 100;

        // 完成后從頭重新開始。
        videoPlayer.isLooping = true;

        // 每次到達(dá)結(jié)尾時,我們都會將播放速度減慢 10 倍。
        videoPlayer.loopPointReached += EndReached;

        // 開始播放。這意味著 VideoPlayer 可能需要做好準(zhǔn)備工作(預(yù)留
        // 資源、預(yù)加載幾幀等)。為了更好地控制此項準(zhǔn)備工作
        // 帶來的延遲,您可以使用 videoPlayer.Prepare() 及其
        // prepareCompleted 事件。
        videoPlayer.Play();
    }

    void EndReached(UnityEngine.Video.VideoPlayer vp)
    {
        vp.playbackSpeed = vp.playbackSpeed / 10.0F;
        Debug.Log("Video: End reached!");
    }
}
  • (3)將上面的腳本對象Example.script掛在上面新建的空對象上。
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
  • (4)點擊上面的播放按鈕,
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
  • (5)運行如下:
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

注意:URL 源選項會繞過資源管理,這意味著您必須手動確保 Unity 可以找到源視頻。例如,一個 Web URL 需要由 Web 服務(wù)器托管源視頻,而普通文件必須位于 Unity 可以找到該文件的位置(用腳本表示)。但是,如果內(nèi)容不在 Unity 的直接控制之下,或者您希望避免在本地存儲大型視頻文件,則此功能非常有用。如果將視頻播放器組件源設(shè)置為 URL,也可通過 http:// 和 https:// 從 Web 源讀取視頻。在這些情況下,Unity 會執(zhí)行必要的預(yù)緩沖和錯誤管理。置于 Unity 的 StreamingAssets 文件夾中的文件可通過視頻播放器組件的 URL 選項(見上文)進(jìn)行使用,也可借助特定于平臺的路徑 (Application.streamingAssetsPath) 進(jìn)行使用。

提示:Unity3d 拖拽腳本報錯Can’t add the script component “” because the script class cannot be found
報錯原因:文件名與文件內(nèi)容中的類名不相符。c#文件創(chuàng)建以后再改名,會報錯找不到對應(yīng)類。類名和文件名要一致才行。(這個是Unity要求,c#本身不要求一致)

這里提供兩段網(wǎng)上的示例腳本如下:

  • VideoScript1.cs:
using UnityEngine;
using UnityEngine.Video;
 
public class VideoScript1 : MonoBehaviour
{
    void Start () {
        var vPlayer = gameObject.AddComponent<VideoPlayer>();
        vPlayer.URL = "https://images.nvidia.cn/cn/youtube-replicates/p7RniXWvYhY.mp4";
        vPlayer.target = UnityEngine.Video.VideoTarget.CameraFrontPlane;
        vPlayer.alpha = 0.8f;
        vPlayer.prepareCompleted += Prepared;
        vPlayer.Prepare();
        Debug.Log("Video: Start!");
    }
 
    void Prepared(VideoPlayer vPlayer)
    {
        Debug.Log("Video: End reached!");
        vPlayer.Play();
    }
}
  • VideoScript2.cs:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.UI;
using System;
 
public class VideoScript2: MonoBehaviour {
    //圖像
    public RawImage image;
    //播放器
    public VideoPlayer vPlayer;
    public string urlNetWork = "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";//網(wǎng)絡(luò)視頻路徑
    //播放
    public Button btn_Play;
    //暫停
    public Button btn_Pause;
    //前進(jìn)
    public Button btn_Fornt;
    //后退
    public Button btn_Back;
    //下一個
    public Button btn_Next;
    //視頻控制器
    public Slider sliderVideo;
    //音量控制器
    public Slider sliderSource;
    //音量大小
    public Text text;
    //當(dāng)前視頻時間
    public Text text_Time;
    //視頻總時長
    public Text text_Count;
    //音頻組件
    public AudioSource source;
    //需要添加播放器的物體
    public GameObject obj;
    //是否拿到視頻總時長
    public bool isShow;
    //前進(jìn)后退的大小
    public float numBer = 20f;
    //時 分的轉(zhuǎn)換
    private int hour, mint;
    private float time;
    private float time_Count;
    private float time_Current;
    //視頻是否播放完成
    private bool isVideo;
 
    // Use this for initialization
    void Start () {
        image = obj.GetComponent<RawImage>();
        //一定要動態(tài)添加這兩個組件,要不然會沒聲音
        vPlayer = obj.AddComponent<VideoPlayer>();
        source = obj.AddComponent<AudioSource>();
 
        //這3個參數(shù)不設(shè)置也會沒聲音 喚醒時就播放關(guān)閉
        vPlayer.playOnAwake = false;
        source.playOnAwake = false;
        source.Pause();
 
        //初始化
        Init(urlNetWork);
 
        btn_Play.onClick.AddListener(delegate { OnClick(0); });
        btn_Pause.onClick.AddListener(delegate { OnClick(1); });
        btn_Fornt.onClick.AddListener(delegate { OnClick(2); });
        btn_Back.onClick.AddListener(delegate { OnClick(3); });
        btn_Next.onClick.AddListener(delegate { OnClick(4); });
 
        sliderSource.value = source.volume;
        text.text = string.Format("{0:0}%", source.volume * 100);
        sliderSource.onValueChanged.AddListener(delegate { ChangeSource(sliderSource.value); });
    }
 
    /// <summary>
    ///     初始化VideoPlayer
    /// </summary>
    /// <param name="url"></param>
    private void Init(string url) {
        isVideo = true;
        isShow = true;
        time_Count = 0;
        time_Current = 0;
        sliderVideo.value = 0;
        //設(shè)置為URL模式
        vPlayer.source = VideoSource.Url;
        //設(shè)置播放路徑
        vPlayer.url = url;
        //在視頻中嵌入的音頻類型
        vPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
 
        //把聲音組件賦值給VideoPlayer
        vPlayer.SetTargetAudioSource(0, source);
 
        //當(dāng)VideoPlayer全部設(shè)置好的時候調(diào)用
        vPlayer.prepareCompleted += Prepared;
        //啟動播放器
        vPlayer.Prepare();
    }
 
    /// <summary>
    ///     改變音量大小
    /// </summary>
    /// <param name="value"></param>
    public void ChangeSource(float value) {
        source.volume = value;
        text.text = string.Format("{0:0}%", value * 100);
    }
 
    /// <summary>
    ///     改變視頻進(jìn)度
    /// </summary>
    /// <param name="value"></param>
    public void ChangeVideo(float value) {
        if (vPlayer.isPrepared)
        {
            vPlayer.time = (long)value;
            Debug.Log("VideoPlayer Time:"+vPlayer.time);
            time = (float)vPlayer.time;
            hour = (int)time / 60;
            mint = (int)time % 60;
            text_Time.text = string.Format("{0:D2}:{1:D2}", hour.ToString(), mint.ToString());
        }
    }
 
    private void OnClick(int num) {
        switch (num)
        {
            case 0:
                vPlayer.Play();
                Time.timeScale = 1;
                break;
            case 1:
                vPlayer.Pause();
                Time.timeScale = 0;
                break;
            case 2:
                sliderVideo.value = sliderVideo.value + numBer;
                break;
            case 3:
                sliderVideo.value = sliderVideo.value - numBer;
                break;
            case 4:
                vPlayer.Stop();
                Init(Application.streamingAssetsPath + "/EasyMovieTexture.mp4");
                break;
            default:
                break;
        }
    }
     
    // Update is called once per frame
    void Update ()
    {
        if (vPlayer.isPlaying && isShow)
        {
            //把圖像賦給RawImage
            image.texture = vPlayer.texture;
            //幀數(shù)/幀速率=總時長    如果是本地直接賦值的視頻,我們可以通過VideoClip.length獲取總時長
            sliderVideo.maxValue = vPlayer.frameCount/vPlayer.frameRate;
 
            time = sliderVideo.maxValue;
            hour = (int)time / 60;
            mint = (int)time % 60;
            text_Count.text = string.Format("/  {0:D2}:{1:D2}", hour.ToString(), mint.ToString());
 
            sliderVideo.onValueChanged.AddListener(delegate { ChangeVideo(sliderVideo.value); });
            isShow = !isShow;
        }
 
        if (Mathf.Abs((int)vPlayer.time - (int)sliderVideo.maxValue) == 0)
        {
            vPlayer.frame = (long)vPlayer.frameCount;
            vPlayer.Stop();
            Debug.Log("播放完成!");
            isVideo = false;
            return;
        }
        else if (isVideo && vPlayer.isPlaying)
        {
            time_Count += Time.deltaTime;
            if ((time_Count - time_Current) >= 1)
            {
                sliderVideo.value += 1;
                Debug.Log("value:" + sliderVideo.value);
                time_Current = time_Count;
            }
        }
    }
 
    private void FixedUpdate()
    {
 
    }
 
    void Prepared(VideoPlayer player) {
        player.Play();
    }
}

Unity5.6提供了多種生成Video Player控件的方式:

1、新建一個空白的Video Player:選擇菜單欄的GameObject->Video->Video Player或者在Hierarchy面板上選擇Create->Video->Video Player或者右擊Hierarchy面板空白處選擇Video->Video Player。
2、直接將導(dǎo)入的VideoClip拖入場景或者Hierarchy面板,生成的VideoPlayer控件的VideoClip將會自動被賦值,如果場景中存在MainCamera,Camera也會被自動賦值為MainCamera。
3、將導(dǎo)入的VideoClip拖動到場景中的Camera物體上,生成的VideoPlayer控件的VideoClip和MainCamera將會自動被賦值,模式默認(rèn)選擇Camera Far Plane。
4、將導(dǎo)入的VideoClip拖動到場景中的2D或者3D物體上,生成的VideoPlayer控件的VideoClip和Renderer將會自動被賦值,模式默認(rèn)選擇Material Override。
5、將導(dǎo)入的VideoClip拖動到場景中的UI物體上,生成的VideoPlayer控件的VideoClip將會自動被賦值,模式默認(rèn)選擇Render Texture。

VideoPlayer的腳本控制與AudioSource相似,有常規(guī)的Play,Pause,Stop方法,也有用于進(jìn)度控制的time,isPlaying,isLooping,frame,frameCount等屬性。
VideoPlayer可以使用一系列事件來監(jiān)聽播放的各個動作:

errorReceived: 錯誤監(jiān)聽到時被執(zhí)行。
frameDropped :有丟幀發(fā)生時被執(zhí)行。
frameReady :新的一幀準(zhǔn)備好時被執(zhí)行。
loopPointReached :播放結(jié)束或播放到循環(huán)的點時被執(zhí)行。
prepareCompleted :視頻準(zhǔn)備完成時被執(zhí)行。
seekCompleted :查詢幀操作完成時被執(zhí)行。
started:在Play方法調(diào)用之后立刻調(diào)用。

3、界面播放示例

3.1 2d界面全屏播放

  • (1)在層級樹上鼠標(biāo)右鍵新建一個視頻播放對象如下:

unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (2)設(shè)置視頻對象的參數(shù)
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
    Source:設(shè)置視頻源,Video Clip或URL。這里使用Video Clip,它的視頻資源在項目面板的Assets里面需要提前配置好相關(guān)視頻資源。
    Render Mode:這里設(shè)置為在主相機上播放視頻。

  • (3)新建一個腳本對象,綁定在視頻播放對象上(當(dāng)然也可以綁定在其他對象上),用來監(jiān)控視頻播放過程的事件。
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

Example2.cs:

using UnityEngine;
using UnityEngine.Video;

public class Example2 : MonoBehaviour
{
    public VideoPlayer vPlayer;

    void Awake()
    {
        vPlayer = GetComponent<VideoPlayer>();
        Debug.Log("Video: Awake";
    }

    void Start()
    {
        vPlayer.loopPointReached += VideoEnd;

        vPlayer.Play();//播放視頻
        //vPlayer.Pause();//暫停視頻
        //vPlayer.Stop();//停止視頻
        //vPlayer.playbackSpeed = 1;//播放速度
        Debug.Log("Video: Start";
    }

    void Update()
    {
        Debug.Log("Video: Frame " + vPlayer.frame);
    }

    /// <summary>
    /// 監(jiān)聽視頻是否播放結(jié)束,結(jié)束時調(diào)用
    /// </summary>
    /// <param name="vp"></param>
    void VideoEnd(VideoPlayer vp)
    {
        Debug.Log("愛看書的小沐:視頻播放結(jié)束");
        Vp.Play();//重新播放視頻
    }
}

點擊系統(tǒng)的播放按鈕運行如下:
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

3.2 2d界面部分區(qū)域播放

在2D界面播放視頻和在3D游戲體上播放,原理及代碼是一樣的,區(qū)別是要把Mesh組件換成RawImage,然后VideoPlayer的RenderMode選項選擇RenderTexture或者其他選項。

這里需要把RenderMode 渲染模式改為 Rendertexture ,Canvas畫布下創(chuàng)建 RawImage , 在Project 視圖下創(chuàng)建 RenderTexture,將RenderTexture 拖入RawImage 的Texture中。

(1)新建一個視頻播放對象,并改名為“小沐視頻播放”。
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

(2)在層級樹上,新建一個raw image對象
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
新建之后在Canvas下面出現(xiàn)一個RawImage節(jié)點。
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
修改RawImage在屏幕上的位置;
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

(3)Project 視圖下創(chuàng)建 RenderTexture。它的屬性可以保持默認(rèn),不修改。
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
(4)修改上面的RawImage對象的屬性。將Texture屬性關(guān)聯(lián)上面新建的RenderTexture對象。
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
(4)修改上面的視頻播放對象的屬性。將Target Texture屬性關(guān)聯(lián)上面新建的RenderTexture對象。
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
(5)點擊系統(tǒng)的播放按鈕運行如下:
unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

3.3 3d模型表面播放

  • (1)新建一個視頻播放對象,如上。

  • (2)新建一個立方體對象,如下
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (3)修改視頻對象的屬性:
    設(shè)置視頻源:Source
    設(shè)置渲染目標(biāo):Render Mode修改為Material Override,同時將Renderer修改為Cude(上面新建的立方體對象)。
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (4)預(yù)覽如下:
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#
    如果想在立方體的某一個面上播放的話,方法如下:

  • (5)在Cude對象下面新建一個網(wǎng)格對象Quad.
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (6)并在三維空間中調(diào)整網(wǎng)格對象的位置,相對立方體。
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (7)修改視頻對象的屬性:
    將Renderer的值修改為網(wǎng)格對象Quad.
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

  • (8)預(yù)覽如下:
    unity videoplayer,Unity3d,C#.NET,unity,音視頻,游戲引擎,unity3d,c#

結(jié)語

如果您覺得該方法或代碼有一點點用處,可以給作者點個贊,或打賞杯咖啡;╮( ̄▽ ̄)╭
如果您感覺方法或代碼不咋地//(ㄒoㄒ)//,就在評論處留言,作者繼續(xù)改進(jìn);o_O???
如果您需要相關(guān)功能的代碼定制化開發(fā),可以留言私信作者;(????)
感謝各位大佬童鞋們的支持!( ′ ▽′ )? ( ′ ▽′)っ!??!文章來源地址http://www.zghlxwxcb.cn/news/detail-622583.html

到了這里,關(guān)于【小沐學(xué)Unity3d】Unity播放視頻(VideoPlayer組件)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【小沐學(xué)Unity3d】3ds Max 多維子材質(zhì)編輯(Multi/Sub-object)

    【小沐學(xué)Unity3d】3ds Max 多維子材質(zhì)編輯(Multi/Sub-object)

    多維子材質(zhì)(Multi/Sub-object)是為一個模形(必須加載可編輯多邊形或可編輯網(wǎng)格)的某部分指定一個才質(zhì)ID,可以指定多個才質(zhì)ID,然后給這個模形給才質(zhì)時,每個ID的多維子才質(zhì)對應(yīng)一個同ID的模形部分。 (1) 多維子物體材質(zhì)適用于對同一物體上適用2種或以上材質(zhì)時適用。比

    2024年02月10日
    瀏覽(26)
  • 【小沐學(xué)Unity3d】3ds Max 骨骼動畫制作(CAT、Character Studio、Biped、骨骼對象)

    【小沐學(xué)Unity3d】3ds Max 骨骼動畫制作(CAT、Character Studio、Biped、骨骼對象)

    官網(wǎng)地址: https://help.autodesk.com/view/3DSMAX/2018/CHS https://help.autodesk.com/view/3DSMAX/2019/CHS https://help.autodesk.com/view/3DSMAX/2020/CHS https://help.autodesk.com/view/3DSMAX/2021/CHS https://help.autodesk.com/view/3DSMAX/2022/CHS 3ds Max 包含兩套完整的對各個角色設(shè)置動畫的獨立子系統(tǒng)(即 CAT 和 character studio),

    2024年02月08日
    瀏覽(16)
  • Unity3D教程:播放視頻的兩種方式

    Unity3D教程:播放視頻的兩種方式

    Unity3D 中播放游戲視頻的方式有兩種,第一種是在游戲?qū)ο笾胁シ?,就好比在游戲世界中?chuàng)建一個Plane面對象,攝像機直直的照射在這個面上。第二種是在GUI層面上播放視頻。播放視頻其實和貼圖非常相像,因為播放視頻用到的MovieTexture屬于貼圖Texture的子類,那么本章我們就

    2024年02月11日
    瀏覽(26)
  • Unity3DWEBGL播放本地視頻用(VideoPlayer)

    Unity3DWEBGL播放本地視頻用(VideoPlayer)

    大家好,本篇記錄一下webgl播放視頻,用的是videoPlayer組件, 不定時更新unity開發(fā)技巧,覺得有用記得一鍵三連哦。 接下來就一步步實現(xiàn)吧 unity播放本地視頻 在Hierarchy面板右鍵創(chuàng)建VideoPlayer組件 到此UI就設(shè)置完成了 注意: 1.設(shè)置寬高,這個最好與視頻的寬高匹配,或者同比例縮放

    2024年04月26日
    瀏覽(18)
  • Unity3d C#快速打開螢石云監(jiān)控視頻流(ezopen)支持WebGL平臺,替代UMP播放視頻流的方案(含源碼)

    Unity3d C#快速打開螢石云監(jiān)控視頻流(ezopen)支持WebGL平臺,替代UMP播放視頻流的方案(含源碼)

    Universal Media Player算是視頻流播放功能常用的插件了,用到現(xiàn)在已經(jīng)不知道躺了多少坑了,這個插件雖然是白嫖的,不過被甲方和領(lǐng)導(dǎo)吐槽的就是播放視頻流的速度特別慢,可能需要幾十秒來打開監(jiān)控畫面,等待的時間較久。還有當(dāng)輸出WebGL的時候視頻無法播放,這個問題也一

    2024年02月14日
    瀏覽(88)
  • 【Unity3D小技巧】Unity3D中Animation和Animator動畫的播放、暫停、倒放控制

    【Unity3D小技巧】Unity3D中Animation和Animator動畫的播放、暫停、倒放控制

    推薦閱讀 CSDN主頁 GitHub開源地址 Unity3D插件分享 簡書地址 我的個人博客 大家好,我是佛系工程師 ☆恬靜的小魔龍☆ ,不定時更新Unity開發(fā)技巧,覺得有用記得一鍵三連哦。 在日常開發(fā)中,常常會遇到要控制動畫的播放、暫停和倒放的情況。 這篇文章就總結(jié)一下, Animation

    2024年02月02日
    瀏覽(70)
  • Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實現(xiàn)云臺,聲音等控制,支持WebGL平臺,替代UMP播放(含源碼)

    Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實現(xiàn)云臺,聲音等控制,支持WebGL平臺,替代UMP播放(含源碼)

    之前我介紹了替代Universal?Media?PlayerUMP播放石云監(jiān)控視頻流(ezopen)的功能,效果還是很明顯的,筆者的測試是差不多3-5秒就能打開監(jiān)控畫面,不過稍微遺憾的是,之前的功能是iframe打開石云提供的播放網(wǎng)頁的形式,功能基本只有畫質(zhì)切換,聲音開關(guān)等;具體可以移步查看(https

    2024年02月13日
    瀏覽(93)
  • 【小沐學(xué)C++】C++ 實現(xiàn)視頻文件播放(Windows Media Player、MFC、C#)

    【小沐學(xué)C++】C++ 實現(xiàn)視頻文件播放(Windows Media Player、MFC、C#)

    無為也,則用天下而有余;有為也,則為天下用而不足。 https://docs.microsoft.com/en-us/windows/win32/wmp/about-the-windows-media-player-sdk Microsoft Windows Media Player 軟件開發(fā)工具包 (SDK) 提供了用于自定義 Windows Media Player 和 Windows Media Player Mobile 以及使用 Windows Media Player ActiveX 控件和 Windo

    2024年02月06日
    瀏覽(23)
  • Unity3d 獲取場景中攝像頭視頻流,實現(xiàn)直播效果(無需代碼)

    Unity3d 獲取場景中攝像頭視頻流,實現(xiàn)直播效果(無需代碼)

    下面是具體操作流程: ? 1. 搭建服務(wù)器,選用github 一個開源的 node.js服務(wù)器。 下載地址GitHub - iizukanao/node-rtsp-rtmp-server: RTSP/RTMP/HTTP hybrid server,點擊克隆,選擇ZIP下載。? 2. 下載node.js( 官網(wǎng)鏈接 Node.js) ? 選擇下載最新版本,并根據(jù)提示一步步安裝即可。 3.搭建服務(wù)器。 找到

    2023年04月08日
    瀏覽(27)
  • Unity播放視頻(一) VideoPlayer的使用

    Unity播放視頻(一) VideoPlayer的使用

    1、在UI上添加腳本 添加UITexture腳本 用于顯示視頻 添加VideoPlayer 2、上代碼

    2024年02月16日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包