Мини-программа обеспечиваетwx.createVideoContext(string id,Object this)、wx.chooseVideo(Object object)、wx.saveVideoToPhotosAlbum(Object object)
ждатьинтерфейс Управление мобильным видео。
создавать video контекст VideoContext объект.
Синтаксис следующий:
this.videoContext=wx.createVideoContext('myVideo')
интерфейс | Функции и использование |
---|---|
VideoContext.play() | Воспроизвести видео |
VideoContext.pause() | Пауза видео |
VideoContext.stop() | Остановить видео |
VideoContext.seek(number position) | Перейти в указанное место (единица измерения, с) |
VideoContext.sendDanmu(Object data) | Отправить заграждения |
VideoContext.playbackRate(number rate) | Установить двойную скорость воспроизведения |
VideoContext.requestFullScreen(Object object) | Перейти в полноэкранный режим. Если имеется пользовательский контент, который необходимо отображать в полноэкранном режиме, узел контента необходимо поместить в узел видео. |
VideoContext.exitFullScreen() | Выйти из полноэкранного режима |
VideoContext.showStatusBar() | Показывать строку состояния, действует только в полноэкранном режиме iOS. |
VideoContext.hideStatusBar() | Скрыть строку состояния, действует только в полноэкранном режиме iOS. |
В этом примере используетсяwx.createVideoContext()
создаватьVideoконтекстvideoContextобъект,Тогда отправьте еду заграждения、играть、пауза、Операции позиционирования и отката.
createVideoContext.wxml
<view class="section tc">
<video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls ></video>
<view class="btn-area">
<input bindblur="bindInputBlur" />
<button bindtap="bindSendDanmu">Отправить заграждения</button>
</view>
</view>
<button type="primary" bindtap="audioPlay">играть</button>
<button type="primary" bindtap="audioPause">пауза</button>
<button type="primary" bindtap="audio14">перейти к2минутная позиция</button>
<button type="primary" bindtap="audioStart">вернуться к началу</button>
createVideoContext.js
function getRandomColor() {
const 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(color)
}
return '#' + rgb.join('')
}
Page({
onReady(res) {
this.videoContext = wx.createVideoContext('myVideo')
},
inputValue: '',
data: {
src: '',
danmuList: [
{
text: 'эт 1s Появившийся заградительный огонь»,
color: '#ff0000',
time: 1
},
{
text: 'эт 3s Появившийся заградительный огонь»,
color: '#ff00ff',
time: 3
}]
},
bindInputBlur(e) {
this.inputValue = e.detail.value
},
bindSendDanmu() {
this.videoContext.sendDanmu({
text: this.inputValue,
color: getRandomColor()
})
},
audioPlay: function () {
this.videoContext.play() //играть
},
audioPause: function () {
this.videoContext.pause() //пауза
},
audio14: function () {
this.videoContext.seek(120) //Переходим на 120 секунд
},
audioStart: function () {
this.videoContext.seek(0) //Вернемся к началу
}
})
играть
Перейти на 2-минутную позицию:
Вернемся к началу:
Снимите видео или выберите видео из фотоальбома телефона.。wx.chooseVideo()
интерфейспараметр Как показано в таблице。
свойство | тип | значение по умолчанию | Необходимый | иллюстрировать | Минимальная версия | |
---|---|---|---|---|---|---|
sourceType | Array. | [‘album’, ‘camera’] | нет | Источник подборки видео | альбом Выберите видео из альбомакамера Используйте камеру, чтобы снять видео | |
compressed | boolean | true | нет | данет Сжать выбранные видеофайлы | 1.6.0 | |
maxDuration | number | 60 | нет | Максимальное время съемки видеозаписи, в секундах | ||
camera | string | ‘back’ | нет | По умолчанию передняя или задняя камера поднята вверх. Он не может действовать на некоторых телефонах Android, поскольку системное ПЗУ не поддерживает его. | ||
success | function | нет | интерфейс Звонок прошел успешнофункция обратного вызова | |||
fail | function | нет | интерфейс Вызов не удалсяфункция обратного вызова | |||
complete | function | нет | интерфейсвызов конца функции обратного вызов (будет выполнен независимо от того, успешен ли вызов или нет) |
свойство | тип | иллюстрировать |
---|---|---|
tempFilePath | string | Временный путь к файлу для выбранного видео (локальный путь) |
duration | number | Продолжительность выбранного видео |
size | number | Размер данных выбранного видео |
height | number | Возвращает высоту выбранного видео |
width | number | Возвращает ширину выбранного видео |
wx.chooseVideo({
sourceType: ['album','camera'],
maxDuration: 60,
camera: 'back',
success(res) {
console.log(res.tempFilePath)
}
})
В этом примере используетсяwx.chooseVideo()
интерфейс Выберите видео на своем телефоне,Затем выполните игровые операции с выбранным видео.
chooseVideo.wxml
<view class="section tc">
<video id="myVideo" src="{{src}}" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls ></video>
</view>
<button type="primary" bindtap="uploadvideo">Загрузить видео</button>
<button type="primary" bindtap="audioPlay">играть</button>
chooseVideo.js
Page({
onReady(res) {
},
inputValue: '',
data: {
src: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
},
uploadvideo: function () {
var that=this;
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: 'back',
success(res) {
that.setData({
src: res.tempFilePath
})
console.log(that.data.src)
}
})
},
audioPlay: function () {
this.videoContext = wx.createVideoContext('myVideo')
this.videoContext.play()
}
})
ˆ SourceType: ['альбом', 'камера'] иллюстрировать Вы можете выбрать видео на своем мобильном телефоне.,Вы также можете снимать видео в режиме реального времени。Используется после выбора нового видео
wx.createVideoContext()
получитьVideoContextобъект,использоватьthis.videoContext.play()
Приходитьигратьвыбранное видео。
Нажмите, чтобы загрузить видео
Нажимаем играть (работает нормально, тест нормальный)
Интерфейс сохраняет видео в системный альбом. Поддержка формата видео mp4.
свойство | тип | значение по умолчанию | Необходимый | иллюстрировать |
---|---|---|---|---|
filePath | string | да | Путь к видеофайлу,Это может быть временный путь к файлу или постоянный путь к файлу (локальный путь). | |
success | function | нет | интерфейс Звонок прошел успешнофункция обратного вызова | |
fail | function | нет | интерфейс Вызов не удалсяфункция обратного вызова | |
complete | function | нет | интерфейсвызов конца функции обратного вызов (будет выполнен независимо от того, успешен ли вызов или нет) |
В этом примере используетсяwx.saveVideoToPhotosAlbum(Object object)
интерфейс Сохраните видео в мобильную видеотеку。
saveVideo.wxml
<view class="section tc">
<video id="myVideo" src="{{src}}" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video>
</view>
<button type="primary" bindtap="save">сохранить видео</button>
saveVideo.js
Page({
inputValue: '',
data: {
src: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
},
save: function () {
var that=this;
wx.downloadFile({
url: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400', //Просто пример, а не реальный ресурс
success: function (res) {
// Пока на сервере есть данные ответа, содержимое ответа будет записано в файл и введено. success Обратный звонок, бизнес должен сам судить, что данет загрузил нужный контент.
if (res.statusCode === 200) {
wx.saveVideoToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
wx.showToast({
title: 'Видео сохранено успешно! ',
})
},
fail(res) {
wx.showToast({
title: «Не удалось сохранить изображение! ',
})
}
})
}
}
})
}
})
Нажмите, чтобы сохранить видео
Инструменты разработчика, которые я здесь использую, смоделированы, и операции на мобильном телефоне такие же.