[無題] モバイル ソフトウェア開発レッスン 3 ビデオ再生アプレット

2022年夏「モバイルソフトウェア開発」ラボレポート

氏名:xxx学籍番号2002000xxxx

名前と学籍番号は?        

xxx2002000xxxx

この研究室はどのコースに属していますか?

中国海洋大学22夏期「モバイルソフトウェア開発」

実験名は?          

実験 3: ビデオ再生アプレット

ブログアドレス?          

Github の倉庫のアドレス?

1. 実験の目的

1. 動画リストの切り替え方法をマスターする; 2. 動画の自動再生方法をマスターする; 3. 動画ランダムカラー弾幕の効果をマスターする。

第二に、実験手順

1、プロジェクト作成

2、ページ構成

 

 コードの一部:

{

  「ページ」: [

    「ページ/インデックス/インデックス」

  ]、

  "窓": {

    "navigationBarBackgroundColor": "#987938",

    "navigationBarTitleText": "口頭学校史"

  }、

  "サイトマップの場所": "サイトマップ.json"

}

<!--エリア 1: ビデオ プレーヤー -->

<video id='myVideo' コントロール </video>

/*ビデオコンポーネントのスタイル*/

ビデオ{

  width:100%;/*ビデオコンポーネントの幅は100%です*/

}

3、ビューデザイン

 コードの一部:

 /*エリア 2: 弾幕制御スタイル*/

/*2-1 弾幕エリアのスタイル*/

.danmuArea{

  ディスプレイ:フレックス;

  フレックス方向:行;

}

/*2-2 テキスト入力ボックスのスタイル*/

入力{

  ボーダー:1rpx ソリッド#987938;

  フレックスグロー:1;

  高さ:100rpx;

}

/*2~3 ボタンのスタイル*/

ボタン{

  色:白;

  背景色:#987938;

}

/* エリア 3: ビデオ リスト スタイル */

/*3-1 動画リストエリアのスタイル*/

.videoList{

  幅:100%;

  最小高さ:400rpx;

}

/*3-2 単一行リスト形式*/

.videoBar{

  幅:95%;

  ディスプレイ:フレックス;

  フレックス方向:行;

  ボーダーボトム:1rpxソリッド#987938;

  マージン:10rpx;

}

/*3-3 再生アイコンのスタイル*/

画像{

  幅:70rpx;

  高さ: 70rpx;

  マージン:20rpx;

}

/*3-4 テキストタイトルのスタイル*/

文章{

  フォントサイズ:45rpx;

  色:#987938;

  マージン:20rpx;

  フレックスグロー:1;

4、ロジック実装

 コードの一部:

ページ({

  /**

   ※ページの初期データ

   */

  データ: {

    ダンムTxt:'',

    リスト: [{

      ID: '299371'、

      タイトル: 「楊国毅氏の学校歴史口述記録」,

      videoUrl: 'http://arch.ahnu.edu.cn/__local/6/CB/D1/C2DF3FC847F4CE2ABB67034C595_025F0082_ABD7AE2.mp4?e=.mp4'

    }、

    {

      ID: '299396'、

      タイトル: 「唐成倫氏口述学校歴史記録」、

      videoUrl: 'http://arch.ahnu.edu.cn/__local/E/31/EB/2F368A265E6C842BB6A63EE5F97_425ABEDD_7167F22.mp4?e=.mp4'

    }、

    {

      ID: '299378'、

      タイトル: 「倪光明氏の学校歴史口述記録」、

      videoUrl: 'http://arch.ahnu.edu.cn/__local/9/DC/3B/35687573BA2145023FDAEBAFE67_AAD8D222_925F3FF.mp4?e=.mp4'

    }、

    {

      ID: '299392'、

      タイトル: 「呉宜興氏の学校歴史口述記録」、

      videoUrl: 'http://arch.ahnu.edu.cn/__local/5/DA/BD/7A27865731CF2B096E90B522005_A29CB142_6525BCF.mp4?e=.mp4'

    }

  】

  }、

  /**

   * 

   * 弾幕コンテンツを更新

   */

  getDanmu:function(e){

this.setData({

  danmuTxt:e.detail.value

})

  }、

  /**

   * 

   * 弾幕を送る 

   */

  sendDanmu:function(e){

let text =this.data.danmuTxt;

this.videoCtx.sendDanmu({

  テキスト:テキスト、

  カラー:getRandomColor()

})

  }、

 

  /**

   * ライフサイクル機能 - ページの読み込みを監視

   */

  onLoad:関数(オプション){

    this.videoCtx=wx.createVideoContext('myVideo')

  }、

  /**

   * 動画を再生します

   */

  playVideo:function(e){

    // 前に再生していたビデオを停止します

    this.videoCtx.stop()

    //動画URLを更新

    this.setData({

      ソース: e.currentTarget.dataset.url

    })

    // 新しいビデオを再生する

    this.videoCtx.play()

  }、

})

 //ランダムな色を生成する

関数 getRandomColor(){

  rgb=[] にしましょう

  for(let i=0;i<3;++i){

  let color=Math.floor(Math.random()* 256).toString(16)

color =color.length==1?'0'+color:color

rgb.push(カラー)

}

return'#'+rgb.join('')

}

第三に、プログラムの実行結果

 4番目、問題の概要と経験

    今回のレッスンで私にとって一番のインスピレーションは、「コードを書くときは慎重に慎重に書かないと、バグが発生したときに何度もソースを辿らなければならず、非常に面倒だ」ということです。さらに、このレッスンの小さなビデオ再生プログラムも非常に役に立ち、ビデオ再生プログラムの構成とロジック実装を理解しました。

おすすめ

転載: blog.csdn.net/m0_55933489/article/details/126437286