- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试播放 jpg(循环),点击 mp4 结束后应该播放,jpg 应该再次播放。我不知道为什么,但在我玩完 axWindowsMediaPlayer1_PlayStateChange vido 后就停止了。帮助。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Video
{
public partial class Form1 : Form
{
bool clicked = false;
public Form1()
{
InitializeComponent();
axWindowsMediaPlayer1.URL = "wait2.JPG";
}
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded & clicked== true)
{
clicked = false;
axWindowsMediaPlayer1.settings.setMode("Loop", true);
axWindowsMediaPlayer1.URL = "wait2.JPG";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
}
private void axWindowsMediaPlayer1_ClickEvent(object sender, AxWMPLib._WMPOCXEvents_ClickEvent e)
{
axWindowsMediaPlayer1.settings.setMode("Loop", false);
axWindowsMediaPlayer1.URL = "video.MP4";
axWindowsMediaPlayer1.Ctlcontrols.play();
clicked = true;
}
}
}
最佳答案
我希望有人在发布时回答了这个问题。我花了很多时间才弄清楚为什么我无法通过设置 URL 属性来开始新视频。我终于在这里找到了这个问题的答案:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd562470%28v=vs.85%29.aspx
问题在于从 axWindowsMediaPlayer1_PlayStateChange() 事件处理程序中设置 URL 属性。根据上面的msdn文档:
“不要从事件处理程序代码调用此方法。从事件处理程序调用 URL 可能会产生意外结果。”
因此必须在偶数处理程序之外设置 URL 属性。我还尝试了 Dispatcher.Invoke() 甚至从事件处理程序中启动一个新线程来设置 URL 属性;但这也无济于事。它真的必须来自事件处理程序之外!
关于c# - 使用 axWindowsMediaPlayer 播放两个视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618153/
我有一个在 AxWindowsMediaPlayer 对象中播放的 WMV 文件。我有两个按钮,在视频暂停时启用。一个应该向后跳一帧,另一个应该向前跳一帧。 问题是,如果我在视频暂停时将 1/24 秒
我有一个在 AxWindowsMediaPlayer 对象中播放的 WMV 文件。我有两个按钮,在视频暂停时启用。一个应该向后跳一帧,另一个应该向前跳一帧。 问题是,如果我在视频暂停时将 1/24 秒
我有一个 Windows 应用程序。我正在使用 AxInterop.WMPLib dll 中的 axwindowsmediaplayer。我对播放视频没有任何问题,但我想在用户通过单击媒体播放器进入特
如何为 AxWindowsMediaPlayer 设置回调以便逐帧处理视频? 最佳答案 这不可能。 关于c# - AxWindowsMediaPlayer 的帧调用,我们在Stack Overflow
我创建了一个具有 axWindowsMediaPlayer 控件的 Windows 窗体应用程序。我没有在上面创建播放列表,但我已将我的 .mp4 文件存储在特定位置。我在 Media Ended 状
我遇到了这个烦人的问题,我无法查明哪里出错了。我正在用代码创建一个 Windows Media Player,我正在尝试循环播放视频……它循环播放,但只有一次…… 因此它再次播放视频。然后它就停止并显
我有这个 FolderBrowseDialog FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.ShowNewFo
我尝试播放 jpg(循环),点击 mp4 结束后应该播放,jpg 应该再次播放。我不知道为什么,但在我玩完 axWindowsMediaPlayer1_PlayStateChange vido 后就停
我正在尝试更改 AxWindowsMediaPlayer 的音量目的。像这样。 //Change Volume private void VolumeTrackBar_ValueChanged(obj
我在 Winforms C# 应用程序中使用 AxWindowsMediaPlayer 控件,我想将播放器设置为在视频播放完毕后暂停在最后一帧。我已经处理了这样一个事实,即视频已完成以在播放器上显示另
在 PlayStateChange 事件中更改 AxWindowsMediaPlayer URL 时,它不会自动开始播放,只是变为“就绪”状态。 我的 C# WinForms 程序中有一个“AxWin
我试图在 AxWindowsMediaPlayer 控件上覆盖一个图片框,但是一旦视频开始播放,视频就会被推到最前面。或者做不到这一点,我可以让图片框位于顶部,但它永远不会有透明背景。好像继承了窗体的
在我的演示代码中,嵌入式 Windows 媒体播放器开始加载和播放视频。播放器不显示控件,所有其他选项都是默认选项。到目前为止,这是可行的。 不起作用的是不是所有的用户交互都停止了。例如,可以通过双击
我的表单上有一个 AxWMPLib.AxWindowsMediaPlayer。当我关闭表单时,我收到“尝试读取或写入 protected 内存。这通常表明其他内存已损坏。”异常(exception)。
使用 AxWindowsMediaPlayer 我需要拉伸(stretch)视频以占据整个屏幕。 stretchToFit = true 的问题在于,stretchToFit 会保持视频的纵横比,如果
我正在使用 axWindowsMediaPlayer,我加载了一个视频,但我想跳 X 秒。因此,例如,如果当前时间是视频的 1 分钟,我想跳转到 1 分 10 秒。 最佳答案 好的,我找到了我的解决方
我正在使用 axwindowsMediaPlayer 对象在 winform 中显示视频。特别是我想播放一个播放列表。 在我的电脑 (win7) 上一切正常,过去在另一台装有 winXP 的电脑(最终
我创建了一个 WinForm 应用程序,其中包含一个 AxWMPLib.AxMediaPlayer,我在其中播放一些视频。我还必须在不同的线程中播放一些其他自定义声音。为此,我使用了 System.M
我使用 axWindowsMediaPlayer 控件播放视频,我使用以下方法通过移动搜索来显示当前视频帧。 axWindowsMediaPlayer1.settings.setMode("showF
我是一名优秀的程序员,十分优秀!