标签: videogular

如何仅通过一个媒体源使用多个videogular2播放器

我有一个videogular2用于运行音频文件的angular 6应用程序。包含vg-player(父组件)的组件是ngSwitch语句的一部分,因此是?可以销毁的组件。

当视图更改时,我需要在后台运行音频。但是,当视图改变时,播放器的所有者将被破坏。

我无法更改这种复杂的开关逻辑,也无法隐藏组件。

我看到的唯一选项是在视图中显示播放器的控件(播放,暂停,音量和进度条),但播放器的源将放置在当前父项持有者组件之外。这样,当视图被破坏时,音频将保留在背景中。


因此,出现了一个确切的问题:我可以创建与媒体源同步的“模拟”控件吗?有一个单例服务为玩家提供整个沟通,但我想的主要问题是进度条。

  • 1-我可以只显示没有视频标签的播放器控件吗
<video id="singleVideo"
  [muted]="isMuted"
  preload="auto"
  [vgMedia]="media"
  playsinline>
  <source [src]="videoSrc" type="video/mp4">
</video>
Run Code Online (Sandbox Code Playgroud)
  • 2-如果可能,控件是否可以通过服务与源同步

总结:
-是否可以将多个不同的视图(仅保留播放器的控件)链接到一个源?
-将源放置在视图之外?
-要同步进度条吗?
-如果一个视图被破坏,剩下的视图将保留下来,并且从每个视图可以命令媒体播放器使用?
-在某些命令上要同步所有控件?

先感谢您!我认为这是非常合法的用例,值得观察。

videogular angular

6
推荐指数
0
解决办法
84
查看次数

如何在Ionic 2/Angular 2项目中实现Videogular?

我正在寻找一个在Ionic 2环境中工作的Videogular 2的工作示例,甚至是一个平坦的Angular 2环境.

我尝试了很多不同的在线示例,感觉文档已经过时或完全不准确.

例如,文档明确指出可以使用以下方式生成基本播放器:

  <videogular vg-theme="config.theme">
    <vg-media vg-src="config.sources"
          vg-tracks="config.tracks">
    </vg-media>

    <vg-overlay-play></vg-overlay-play>
  </videogular>
Run Code Online (Sandbox Code Playgroud)

我在Typescript中加载:

import { VgAPI } from 'videogular2/core';
import { VgCoreModule } from 'videogular2/core';
import { VgControlsModule } from 'videogular2/controls';
import { VgOverlayPlayModule } from 'videogular2/overlay-play';
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

Error: Uncaught (in promise): Error: Template parse errors:
'vg-media' is not a known element
Run Code Online (Sandbox Code Playgroud)

我使用vg-player元素代替videogular然后使用video标记取得了一些成功.这有效,但只是给了我本地玩家.任何在其中使用视频标签的尝试都会给我一个类似的错误.

所有组件也出现在app.module.tsimports区域下的文件中.

我的完全控制器:

import { Component } from '@angular/core';
import { NavController, NavParams, ToastController, LoadingController } …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs videogular ionic-framework ionic2

5
推荐指数
1
解决办法
2398
查看次数

在 Angular 应用程序中包含 hls.js 库

我试图将 Videogular2 模块包含到我的 Angular 应用程序中,但我不断收到hls.js. 我已按照Getting started指南进行操作,但在开发人员控制台中收到此错误:

ERROR ReferenceError: Hls is not defined
    at VgHLS.webpackJsonp.../../../../videogular2/src/streaming/vg-hls/vg-hls.js.VgHLS.createPlayer (vg-hls.js:56)
    at VgHLS.webpackJsonp.../../../../videogular2/src/streaming/vg-hls/vg-hls.js.VgHLS.ngOnChanges (vg-hls.js:45)
    at checkAndUpdateDirectiveInline (core.es5.js:10840)
    at checkAndUpdateNodeInline (core.es5.js:12339)
    at checkAndUpdateNode (core.es5.js:12278)
    at debugCheckAndUpdateNode (core.es5.js:13139)
    at debugCheckDirectivesFn (core.es5.js:13080)
    at Object.eval [as updateDirectives] (WatchComponent.html:22)
    at Object.debugUpdateDirectives [as updateDirectives] (core.es5.js:13065)
    at checkAndUpdateView (core.es5.js:12245)
Run Code Online (Sandbox Code Playgroud)

我先执行了这个命令

yarn add videogular2 dashjs hls.js
Run Code Online (Sandbox Code Playgroud)

我已经添加了脚本路径.angular-cli.json

"scripts": [
    "../node_modules/dashjs/dist/dash.all.min.js",
    "../node_modules/hls.js/dist/hls.min.js"
]
Run Code Online (Sandbox Code Playgroud)

导入所需的模块app.module.ts

imports: [
    BrowserModule,
    VgCoreModule,
    VgControlsModule,
    VgOverlayPlayModule,
    VgBufferingModule,
    VgStreamingModule
]
Run Code Online (Sandbox Code Playgroud)

添加了 HTML 文件(使用组件),其中movie是组件的属性。 …

videogular hls.js angular

5
推荐指数
1
解决办法
7143
查看次数

视频无法加载

我正在尝试在我的网站上实现Videogular,但没有下载GitHub项目所带来的所有东西.我只想使用videogular.js,插件和默认主题.然而,当我加载页面时,默认的HTML5视频播放器和Videogular没有实现.

我的HTML代码如下:

<html ng-app="myapp">
    <head>
        <script src="angular.min.js"></script>
        <script src="jquery-2.0.3.min.js"></script>
        <script src="videogular/videogular.js"></script>
        <script src="videogular/plugins/controls.js" type="text/javascript"></script>
        <script src="videogular/plugins/overlay-play.js" type="text/javascript"></script>
        <script src="videogular/plugins/buffering.js" type="text/javascript"></script>
        <script src="videogular/plugins/poster.js" type="text/javascript"></script>
        <script src="videoserve.js"></script>
        <link rel="stylesheet" type="text/css" href="test.css">
    </head>
    <body ng-controller="MyController">
        <div id="videoDiv">
            <videogular vg-responsive="config.responsive" vg-autoPlay="config.autoPlay">
                <video class='videoPlayer' controls preload='metadata'>
                    <source src='assets/videos/Test 1080p HD.mp4' type='video/mp4'>
                </video>
                <vg-poster-image vg-url='config.plugins.poster.url' vg-stretch="config.stretch.value"></vg-poster-image>
                <vg-buffering></vg-buffering>
            </videogular>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的js文件看起来像:

var app = angular.module('myapp', [
]);

app.controller('MyController', function($scope) {
    $scope.stretchModes = [
        {label: "None", value: "none"},
        {label: "Fit", value: "fit"},
        {label: "Fill", value: "fill"} …
Run Code Online (Sandbox Code Playgroud)

javascript html5 angularjs videogular

4
推荐指数
1
解决办法
3836
查看次数

如何在Videogular中手动更改src文件?

我正在尝试在我的AngularJS应用程序中实现Videogular.开箱即用的示例运行良好,没有问题.但我无法让玩家手动播放不同的文件,而不是播放音频.

这是我的HTML.

<div ng-controller="HomeCtrl as controller" class="videogular-container" ng-model="sharedProperty">
    sharedProperty.data = {{sharedProperty.data}}
    <button ng-click="SetValue('http://example.com/myfile.mp3')"  type="button" class="btn btn-default">Change Audio</button>
  <videogular vg-theme="controller.config.theme.url" class="videogular-container audio">
    <vg-media vg-src="controller.config.sources"></vg-media>

    <vg-controls>
      <vg-play-pause-button></vg-play-pause-button>
      <vg-time-display>{{ currentTime | date:'mm:ss' }}</vg-time-display>
      <vg-scrub-bar>
        <vg-scrub-bar-current-time></vg-scrub-bar-current-time>
      </vg-scrub-bar>
      <vg-time-display>{{ timeLeft | date:'mm:ss' }}</vg-time-display>
      <vg-volume>
        <vg-mute-button></vg-mute-button>
      </vg-volume>
    </vg-controls>
  </videogular>
</div>
Run Code Online (Sandbox Code Playgroud)

这是控制器代码:

  app.controller('HomeCtrl', ["$sce","$scope", "$window", "sharedProperties", 
      function($sce, $scope, $window, sharedProperties) {

        $scope.sharedProperty = sharedProperties.getProperty();
        $scope.SetValue = function (msg)
        {
            $window.alert( $scope.sharedProperty.data );
            $scope.setProperty = sharedProperties.setProperty;
            $scope.setProperty(msg);
            $window.alert( $scope.sharedProperty.data );
        }

        $window.alert( $scope.sharedProperty.data );

        this.config = {
          sources: …
Run Code Online (Sandbox Code Playgroud)

android audio-player html5-audio angularjs videogular

2
推荐指数
1
解决办法
3278
查看次数

停止正在播放的其他视频播放新视频

我正在使用Videogular来显示视频.当用户点击播放按钮到新视频时,你能帮我看看如何停止/暂停其他视频.因此,用户一次只能播放一个视频.

系统应自动停止在后台播放的其他视频并播放新视频

谢谢

html5-video angularjs videogular

2
推荐指数
1
解决办法
2447
查看次数