1. 程式人生 > >Android多個視訊迴圈播放

Android多個視訊迴圈播放

這個功能應該有很多人做過,不過有些效果並不理想。

下面貼一個我自己的。

public List<VideoPathQuery> p_video_path = new ArrayList<VideoPathQuery>();
//p_video_path為視訊地址存放bean,
public int Video_index = 0;
//當前視訊播放到那裡
  /**
     * 開啟播放
     */
    private void play(String Url) {
        try {
            mediaPlayer.reset();
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mediaPlayer.setDataSource(MainActivity.this, Uri.parse(Url));//設定路徑
            mediaPlayer.setDisplay(Vodeo_surfaceView.getHolder());//設定video影片以surfaceviewholder播放
            mediaPlayer.setVolume(100, 100);
            mediaPlayer.prepare();
            mediaPlayer.start();
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer mp) {
                    ++Video_index;
                    if (Video_index == p_video_path.size())
                        Video_index = 0;
                    play(p_video_path.get(Video_index).getVideo_url());
<span style="white-space:pre">			</span>//遞迴迴圈播放
                }
            });
            } catch (Exception e) {
                LogUtils.error("視訊播放錯誤"+e.toString());
                e.printStackTrace();
            }
    }
下面是Surface程式碼
    /**
     * 初始化視訊
     */
    private void VodeoSurfaceView() {

        Vodeo_surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        Vodeo_surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {

            @Override
            public void surfaceCreated(SurfaceHolder holder) {
<span style="white-space:pre">		</span>
            }

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

            }

            @Override
            public void surfaceDestroyed(SurfaceHolder holder) {
//                if(mediaPlayer.isPlaying()){
//                    mediaPlayer.stop();
//                }
            }
        });

        mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//設定音樂流的型別

    }

在網上也看到了很多類似的功能,但是結合自己功能需求,又有些不太舒服,所以就稍微改了改。

也更加的靈活多變,

相關推薦

Android視訊迴圈播放

這個功能應該有很多人做過,不過有些效果並不理想。 下面貼一個我自己的。 public List<VideoPathQuery> p_video_path = new ArrayList<VideoPathQuery>();//p_video_pat

html5 JS 迴圈播放視訊

 ...  var video_list    = [url1,url2];                   

android中的Mediaplayer------可以同時開啟視訊播放--------------

package com.example.testmultimediaplayer; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; imp

Android視訊檔案拼接為一個檔案

正文 利用android的2個類MediaExtractor(抽取音/視訊幀) + MediaMuxer (將音視訊重新寫入一個多媒體檔案,完成封裝)。 合成檔案為MP4。為啥是MP4? 因為android支援最好的就是這個格式。MediaMuxer的native實現者是MPE

video.js 一個頁面同時播放視訊

$(data).each(function(i, item) { // innerHTML += '<li type-id="'+item.id+'">'+ // '<img src="'+(item.imgs?

HTML5 video的視訊迴圈播放

在做播放歷史視訊的時候,有連續播放視訊的需求,分享一下實現方法。 html程式碼: <div class="video">     <div class="container">     

微信小程式解決視訊播放的問題

效果圖: 本例子:是圖片和多個視訊混在一起 html <view class="case-ul"> <repeat for="{{list}}" index=

Qt+VLC播放視訊的Demo

這個Demo做的是同時播放9個相同的視訊: 目前做的這個小Demo程式碼微微做了一點小優化,單獨封裝的類: #ifndef SVLCCONTROL_H #define SVLCCONTROL_H #include <QWidget> #include

Android 廣告視訊迴圈播放 & 快取 處理方案

基於Android系統的裝置上投放廣告視訊,比如:地鐵廣告屏、自助服務機器上的廣告位,取號機廣告等。 最近兩天做了一個叫號機端的系統,內部有一塊迴圈播放視訊廣告的處理,於是乎有了此篇小結 先來了解下視訊廣告的幾個的特點 一、網路視訊快取處理 二、迴圈播放功能 三

使用video標籤實現視訊播放

這兩天在做一個功能,實現視訊切換的功能,即點選按鈕實現視訊內容切換的功能。上圖:思路很簡單:點選視訊一隱藏視訊二,點選視訊二隱藏視訊一,--,感覺和沒說差不多。程式碼如下:<!DOCTYPE html> <html lang='en'> <he

視訊系統支援國內外100視訊網站解析去廣告播放

91視訊網站系統是一個集採集、遠端播放、後臺上傳、會員上傳為一體的多視訊播放支援的視訊管理系統。  網路影視永遠網民最喜歡、大公司必爭的地盤,看看網上各大視訊網站提供的免費影視和下載論壇就知道這個市場有多麼龐大!但隨著國內版權問題越收越緊,作為個人站長不可能提供那麼多擁

如何將視訊合併並新增轉場特效?怎麼製作視訊轉場效果

  上週才立了冬,雖然說立冬了吧,但是並沒有絲毫的感覺到來自冬天的寒意。甚至今天刷朋友圈的時候,看到有人說“這個冬天越過越熱了”。貌似的確是這樣子的,前陣子降溫了,結果最近又是豔陽高照了呢。好啦,嘮一下天氣之後該進入我們的正題了。正如標題所言,今天咱們要講的是,如何將多個視訊合併,並且在合併時給視訊新增專

Android listview監聽item的點選事件

如果一個介面包含多個listview,而且需要監聽每個listview的item點選事件,其實只需要在onItemClick方法中  判斷一下即可   @Override     public void onItemClick(Adapte

android實現本地視訊播放,類似於一個小型的MP4,可以選擇本地的檔案進行播放

首先呢我們來 看一下佈局檔案中的程式碼: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

如何實現爬蟲迴圈順序爬取

首先設定一個迴圈,接著為每一個爬蟲設定一個定時器,讓每一個爬蟲爬蟲一段時間,再執行下一個爬蟲即可。具體程式碼如下,此處設定每一個爬蟲執行3600秒 import os while True: os.system("scrapy crawl xinhuanet -s CLOSESPIDE

Android 應用之間聲音競爭之Android 系統處理音訊焦點(AudioFocus)

問題發現 最近在專案中發現我們的自己的apk和第三方的媒體apk會出現串音問題。即兩者之間的聲音會重疊在一起。 解決問題 1. 使用多媒體按鍵去控制第三方應用的聲音播放(無效果) 通過觸發媒體的按鈕來操作播放器狀態:KeyEvent.KEYCODE_MEDIA

定時AlarmManager迴圈執行後臺任務和定時迴圈後臺任務寫在一起

定時迴圈執行某些任務,在開發中是很常見的一種方式,Android中有兩種定時器可以實現,一種是Alarm,另一種是AlarmManager,Alarm在Android4.4以後,這種方式的定時器不太準確,Android官方為了優化手機電池使用時間,將多個差不多時

通過Android實現VR視訊播放

實現VR視訊的播放和前面寫過的VR全景圖的展示差不多,改變的也只是庫檔案的不同,資源目錄下的資源不同而已。下面就來說一下步驟。 先展示一下效果圖 完成步驟: 1.以匯入Moudle的方式匯入庫檔案。(videowidget,common,commonwi

視訊合併軟體怎麼把視訊合併為一個視訊

  視訊合併軟體怎麼把多個視訊合併為一個視訊。經常操作視訊編輯的小夥伴對視訊合併是再熟悉不過的了,一般製作視訊前的拍攝工作都是在多個場景中拍攝多個片段,通過後期剪輯將拍攝的多個視訊片段合併到一起。而對於視訊編輯新手們來說,想要進行合併視訊操作就有些不知從何入手了,所以小編決定給網友們分享一下視訊合併

視訊怎麼合成一個,什麼合併視訊軟體好用

視訊的剪輯和合成是使用較多的一個功能,平時自己錄製視訊可能都會分享到社交平臺上,然而在分享之前,我們必然會做很多的處理,比如濾鏡,美顏,分割,合成等等的操作,前兩者很簡單,那怎麼將錄製的幾個視訊合成一個呢?可能很多朋友都還不知道該怎麼解決這一問題,一起來看看多個視訊怎麼合成一個,什麼合併視訊軟體好用吧!1、第