1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <template>
- <div>
- <br />
- <div id="pusher" style="width:300px;height:400px;background-color:#000000;margin:auto"></div>
- <br />
- <div style="text-align:center; margin:auto;">
- <input id="path" type="text" value="" placeholder="请输入直播服务器地址(rtmp)" />
- <button id="pp" v-on:click="ppPusher()">开始</button>
- </div>
- <div class="button" v-on:click="switchCamera()">切换摄像头</div>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- bstart: false,
- pusher: null,
- };
- },
- created() {
- document.addEventListener('plusready', this.plusReady, false);
- },
- methods: {
- switchCamera() {
- this.pusher.switchCamera();
- },
- plusReady() {
- // 创建直播推流控件
- this.pusher = new plus.video.LivePusher('pusher', {
- url: 'rtmp://live.liaoningdoupo.com/live/',
- });
- // 监听状态变化事件
- this.pusher.addEventListener(
- 'statechange',
- function(e) {
- console.log('statechange: ' + JSON.stringify(e));
- },
- false
- );
- },
- ppPusher() {
- if (this.bstart) {
- this.pusher.stop();
- this.bstart = false;
- } else {
- var path = document.getElementById('path').value;
- if (path && path.length > 0) {
- this.pusher.setOptions({ url: path });
- this.pusher.start();
- this.bstart = true;
- } else {
- plus.nativeUI.toast('请输入直播服务器地址');
- }
- }
- var pp = document.getElementById('pp');
- pp.innerText = this.bstart ? '停止' : '开始';
- },
- },
- };
- </script>
- <style scoped>
- input {
- width: 70%;
- font-size: 16px;
- padding: 0.2em 0.2em;
- border: 1px solid #00b100;
- -webkit-user-select: text;
- }
- .button,
- button {
- width: 20%;
- margin: 6px 0 6px 6px;
- font-size: 16px;
- color: #fff;
- background-color: #00cc00;
- border: 1px solid #00b100;
- padding: 0.2em 0em;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- }
- </style>
|