标签: mediaelement

如何在WPF中流式传输网络摄像头?

我可以从网络摄像头流式传输WPF应用程序中的实时视频吗?如果是,那怎么样?

wpf streaming webcam mediaelement

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

将进度条绑定到wpf中的mediaelement

在c#/ wpf中,我在窗口中添加了一个进度条和媒体元素.我们的想法是,进度条显示媒体元素的播放量.

我尝试使用以下xaml:

<Window x:Class="TestApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="627" Width="889">
    <Grid>
    <MediaElement Margin="152,8,140,41" Name="mediaElement1" MediaEnded="mediaElement1_MediaEnded" Visibility="Hidden" />
    <ProgressBar Height="23" Margin="152,8,10,0" Name="mp3PlayingProgressBar" VerticalAlignment="Top" Foreground="DarkBlue" Maximum="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" Value="{Binding Path=Position.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

我试图将Maximum和Value属性绑定到mediaelement.但是当我将mp3加载到mediaelement时,进度条没有任何反应.(音乐正在播放,因此mp3已加载并正常播放).

我更喜欢用绑定来做这件事.

我在这做错了什么?

c# wpf xaml mediaelement progress-bar

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

c#WPF如何在不声明新源的情况下从mediaended事件处理程序重复播放MediaElement?

我在WPF播放一个视频.我希望它循环播放所以我所做的是当媒体事件发生时,我播放我的视频.所以这会给我一个循环.问题是为什么ui必须再次创造新的来源?为什么我不能称之为"玩"?

出于某种原因,我不想在XAML中这样做.

看看我的代码片段:

string startPath System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);


public Window1()
    {
        InitializeComponent();
        media.Source = new Uri(startPath + @"playlist.wpl");
        media.play();
    }

private void Media_Ended(object sender, EventArgs e)
    {
        media.Source = new Uri(startPath + @"playlist.wpl"); //if i dont put this line, video wont play..seems like it cant get the source
        media.Play();
    }
Run Code Online (Sandbox Code Playgroud)

或者有没有一种正确的方法来循环NOT在XAML中,但在这里.cs文件?

c# wpf events mediaelement event-handling

8
推荐指数
3
解决办法
3万
查看次数

如何在视频端调用函数?(HTML5和mediaelementjs)

我正在使用mediaelementjs在我的网站上播放视频,但我需要打电话给你

功能在END /暂停视频.请告诉我我是怎么做到的?

提前致谢

javascript jquery html5 mediaelement mediaelement.js

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

谷歌浏览器不想使用mediaelement.js播放mp4

我在我的网站上使用最新的mediaelement.js播放html5视频.Google Chrome中有一些奇怪的东西.他播放一个视频,但不想播放mp4格式的其他视频,也不想回到webm.两个视频都使用ffmpeg转换为这个参数:

ffmpeg -i input.mov -acodec libfaac -ab 96k -vcodec libx264 -vpre slower -vpre main -level 21 -refs 2 -b 345k -bt 345k -threads 0 -s 640x360 output.mp4
Run Code Online (Sandbox Code Playgroud)

此外,第一个视频正常播放,不使用mp4格式的mediaelement.js库,第二个视频转为webm格式.

样本页面来自http://random.net.ua/video_test/:

  • http://random.net.ua/video_test/video1.html (好)
  • http://random.net.ua/video_test/video2.html (好)
  • http://random.net.ua/video_test/video1-mediaelement.html (好)
  • http://random.net.ua/video_test/video2-mediaelement.html (失败)

video html5 mp4 google-chrome mediaelement

8
推荐指数
1
解决办法
9404
查看次数

使MediaElement支持更多视频编解码器

有没有一种方法,使MediaElement支持更多视频编解码器一样mkv,flv,mov等?如果没有,是否有任何其他控件支持更多的视频编解码器?

.net c# vb.net mediaelement windows-runtime

8
推荐指数
1
解决办法
1万
查看次数

8
推荐指数
1
解决办法
1万
查看次数

WPF MediaElement白色显示为灰色

我尝试在WPF中使用MediaElement显示MP4-Video.播放视频效果很好.但是,白色显示为灰色.当我在其他视频播放器中打开视频文件时,会显示白色.还有其他人经历过这个吗?

<MediaElement LoadedBehavior="Play"
              Source="Resources/Videos/TestVideo.mp4" />
Run Code Online (Sandbox Code Playgroud)

视频播放为WPF MediaElement: 在此输入图像描述

在Windows Media Player中播放相同的视频: 在此输入图像描述

wpf video mediaelement

8
推荐指数
1
解决办法
284
查看次数

Silverlight:MediaElement可以从下载流中播放吗?

我试图找出是否可以从仍在下载的流中播放MediaElement中的视频,而不是等待它完成?我已经非常彻底地研究了这个主题,但没有找到明确的答案.

我正在尝试按需实现播放.我目前正在播放视频,将uri分配给MediaElement的Source,这是有效的.我想通过在Stream中打开uri并使用SetSource将Stream分配给MediaElement来更改此功能.

我编写了代码来获取uri,创建WebClient,并使用OpenReadAsync开始从中读取.我已经将AllowReadStreamBuffering设置为false,以允许我一旦可用就从OpenReadComplete获取流(而不是等待它完成下载).只要我有Stream的句柄,我就将它分配给MediaElement并尝试播放.

这当前导致System.Exception:2210错误.据我所知,资源存在且可读,我不知道这是我的代码是错误的,或者是否根本不可能从不完整的流中回放MediaElement.

如果使用SetSource和Stream无法做到这一点,是否可以使用SetSource和MediaStreamSource类?我确实看过MediaStreamSource这个任务,但它似乎要求我编写解析传入流的代码并一次从中提取一个帧,这听起来很痛苦.

c# silverlight stream mediaelement

7
推荐指数
0
解决办法
1282
查看次数

iOS Safari - 延迟播放媒体元素(通过点击) - NotAllowedError

iOS Safari 需要触摸事件来播放/暂停媒体元素。没有的话,你会得到:

NotAllowedError:当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了权限。捕获 PromiseReaction 错误消息。

问题是“如何延迟 <MediaElement>.play() 调用而不丢失触摸事件上下文?”

我试图在点击后延迟播放媒体元素,但在我提出的两种方法(Promise 和 setTimeout)中,它们都失去了与触摸事件的连接,并且由于以下原因我收到了 NotAllowedError 错误<MediaElement>.play() 调用的范围更改。正如预期的那样,两者都适用于除 iOS Safari 之外的所有 ES6 设备/浏览器。

请随意在codepen 上使用它。

const delay = ms => new Promise(res => setTimeout(res, ms));

const video = document.querySelector('video'),
      button = document.querySelector('button')

const playVideoSyncDelay = async e => {
  document.body.classList.add('blackground')
  await delay(3000)
  video.play()
    .then( e => video.onended = e => document.body.classList.remove('blackground', 'playing') )
    .then( e => document.body.classList.add('playing') )
    .catch( e => console.error('Oops:', e) )
}

const playVideoTimeoutDelay = e => {
  document.body.classList.add('blackground') …
Run Code Online (Sandbox Code Playgroud)

html javascript safari mediaelement ios

7
推荐指数
1
解决办法
1062
查看次数