WeChat Mini-Programm: Position des Videofeuers zufällig

WeChat Mini-Programm: Position des Videofeuers zufällig

In diesem Artikel wird der spezifische Code zur zufälligen Anordnung der Position des WeChat-Miniprogramm-Videofeuers zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Nach der jüngsten Aktualisierung der Entwicklungstools erfolgt die Flut der WeChat-Miniprogramm-Videos nicht mehr automatisch nach dem Zufallsprinzip. Daher wurde eine raffinierte Methode verwendet (Senden mehrerer leerer Fluten zusammen mit der Flut, die Sie senden möchten, und Verwenden von Zufallszahlen zum Steuern der Reihenfolge).

WXML-Code

<!--pages/study/video/videoplay/videoplay.wxml-->
<Klasse anzeigen="Seitentext">
  <view Klasse="Seitenabschnitt tc">
    <Video 
      id="meinVideo" 
      Quelle: „http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400“ 
      binderror="videoErrorCallback" 
      danmu-list="{{danmuList}}" 
      aktivieren-danmu 
      danmu-btn 
      show-center-play-btn='{{false}}' 
      anzeigen-abspielen-btn="{{true}}" 
      Bedienelemente
      Bild-im-Bild-Modus="{{['push', 'pop']}}"
      bindenterpictureinpicture='bindVideoEnterPictureInPicture'
      bindleavepictureinpicture='bindVideoLeavePictureInPicture'
    ></video>
    <view style="margin: 30rpx auto" class="weui-label">Aufzählungskommentarinhalt</view>
    <input bindblur="bindInputBlur" class="weui-input" type="text" placeholder="Geben Sie hier den Aufzählungsinhalt ein" />
    <button style="margin: 30rpx auto" bindtap="bindSendDanmu" class="page-body-button" type="primary" formType="submit">Sende Danmu</button>
    <navigator style="margin: 30rpx auto" url="Bild-im-Bild" hover-class="anderer-navigator-hover">
      <button type="primary" class="page-body-button" bindtap="bindPlayVideo">Kleiner Fenstermodus</button>
    </navigator>
  </Ansicht>
</Ansicht>

JS-Code

// Seiten/Studie/Video/Videoplay/Videoplay.js
var das;
Funktion getRandomColor() {
  const rgb = []
  für (sei i = 0; i < 3; ++i) {
    lass Farbe = Math.floor(Math.random() * 256).toString(16)
    Farbe = Farbe.Länge === 1 ? '0' + Farbe : Farbe
    rgb.push(Farbe)
  }
  returniere '#' + rgb.join('')
}
 
Seite({
  beiShareAppMessage() {
    zurückkehren {
      Titel: 'Video',
      Pfad: „Seite/Komponente/Seiten/Video/Video“
    }
  },
 
  onReady() {
    das = dies;
    this.videoContext = wx.createVideoContext('meinVideo')
  },
 
  beimAusblenden() {
 
  },
 
  Eingabewert: '',
  Daten: {
    Quelle: '',
    danmuListe:
    [{
      Text: 'Der erste Aufzählungskommentar',
      Farbe: '#ff0000',
      Zeit: 1
    }, {
      Text: 'Das Sperrfeuer, das in der 3. Sekunde auftrat',
      Farbe: '#ff00ff',
      Zeit: 3
    }],
  },
 
  bindInputBlur(e) {
    dieser.Eingabewert = e.Detail.Wert
  },
 
  bindButtonTap() {
    const das = dies
    wx.wählenVideo({
      Quelltyp: ['Album', 'Kamera'],
      maxDuration: 60,
      Kamera: ['vorne', 'hinten'],
      Erfolg(res) {
        dass.setData({
          Quelle: res.tempFilePath
        })
      }
    })
  },
 
  bindVideoEnterPictureInPicture() {
    console.log('In den Kleinfenstermodus wechseln')
  },
 
  bindVideoLeavePictureInPicture() {
    console.log('Kleinen Fenstermodus beenden')
  },
 
  bindPlayVideo() {
    dies.videoContext.play()
  },
  bindSendDanmu() {
    //Verwende Schleifen und Zufallszahlen, um die Position anzupassen var ranNum = Math.floor(Math.random()*10);
    var danmuList = [];
    für (let index = 0; index < 10; index++) {
      danmuList.push('');
    }
    danmuList[ranNum] = dieser.Eingabewert;
    für (let index = 0; index < danmuList.length; index++) {
      this.videoContext.sendDanmu({
        Text: danmuList[index],
        Farbe: '#ff0000'
      });
    }
  },
 
  videoErrorCallback(e) {
    console.log('Video-Fehlermeldung:')
    console.log(e.detail.errMsg)
  }
})

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Das WeChat-Applet implementiert einen Videoplayer, der einen Bullet-Screen sendet
  • Implementierung der Video-Barrage-Sendefunktion im WeChat-Applet
  • WeChat-Applet-Entwicklungsvideoplayer Beispiel für die Farbanpassung von Video-Barrage-Barrage
  • Das WeChat-Miniprogramm vidao realisiert die Funktionen der Videowiedergabe und des Sperrfeuers

<<:  Grafisches Tutorial zur Installations- und Konfigurationsmethode für die Dekomprimierungsversion von MySQL 5.7.21 (Win10)

>>:  Einfache Schritte zum Konfigurieren des Nginx-Reverse-Proxys mit SSL

Artikel empfehlen

Das Lazy-Loading-Attributmuster in JavaScript verstehen

Traditionell erstellen Entwickler Eigenschaften i...

JavaScript zum Erzielen eines Kalendereffekts

In diesem Artikel wird der spezifische Code für J...

Beispiele für die Verwendung des Li-Tags in HTML

Ich möchte den Titel links und das Datum rechts a...

Detaillierte JavaScript-Rekursion

Inhaltsverzeichnis 1. Was ist Rekursion? 2. Mathe...

Detaillierte Erklärung des Grid-Layouts und des Flex-Layouts der Anzeige in CSS3

Das Gitterlayout weist einige Ähnlichkeiten mit d...

So verwenden Sie Docker Swarm zum Erstellen von WordPress

Ursache Ich habe WordPress einst auf Vultr einger...

HTML-Tabelle_Powernode Java Academy

Um eine Tabelle in HTML zu zeichnen, verwenden Si...

Nginx-Weiterleitung basierend auf URL-Parametern

Anwendungsszenarien: Der Sprungpfad muss entsprec...

VMware Workstation ist nicht mit Device/Credential Guard kompatibel

Beim Installieren einer virtuellen Maschine wird ...

Das Konzept von MTR in MySQL

MTR steht für Mini-Transaktion. Wie der Name scho...

Tiefgreifendes Verständnis des Ereignisausführungsmechanismus von JavaScript

Inhaltsverzeichnis Vorwort Das Prinzip der asynch...