问题标签 [axwindowsmediaplayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
307 浏览

c# - axwindowsmediaplayer 用表单覆盖全屏

我有一个包含多个表单的 Windows 表单应用程序。主窗体包含一个 axwindowsmediaplayer 的实例,它还有一个字幕窗体的实例。此字幕表单仅包含一个标签。

现在发生的情况是,如果我将播放器设置为全屏,然后使用 显示字幕表单topmost = true,播放器将离开全屏模式。如果我首先显示字幕表单然后将播放器设置为全屏字幕表单消失

在全屏模式下查看了在 axwindowsmediaplayer 控件上覆盖标签上给出的答案?但他们似乎对我不起作用

0 投票
0 回答
377 浏览

c# - AxWindowsMediaPLayer:使用 C# 在最后一帧暂停视频

我为 Microsoft Surface Hub(触摸设备)设计了一个 Winform 应用程序。

概括:

  1. 表单 1介绍表单,它循环播放单个视频 (axWindowsMediaPlayer),直到用户中断应用程序。
  2. 如果用户中断应用程序,则axWindowsMediaPlayer停止播放并使用 将表单 2 (即菜单表单)置于最前面this.BringToFront()表格 2显示.swf文件。表格 2 包含各种可供选择的选项。
  3. 从表格 2 中选择一个选项后,用户将被重定向到表格 3,表格 3 可以是axWindowsMediaPlayer.swf取决于用户的选择。截至目前有8 media个文件和2个 .swf文件。
  4. 用户可以从当前选项切换到下一个/上一个选项。注意:即使在媒体结束后也不会启用自动切换。

注意:sendToBack()我使用和在我的表单之间切换BringToFront()

播放文件时发生axWindowsMediaPlayer的情况是媒体结束后显示黑屏。

我想要的是我的应用程序应该捕获最后一帧并在媒体结束后显示该帧而不是黑屏。或在到达最后一帧时暂停媒体。

如何使用C#实现这一点

PS:我已经看到了很多关于此的问题,但几乎所有问题都没有公认的答案,而且似乎没有一种技术有效

编辑1:我尝试使用

axWindowsMediaPlayer.currentMedia.duration

还有一些对我的案子没有帮助的事情。

0 投票
1 回答
1520 浏览

c# - axWindowsMediaPlayer:循环出现黑屏

我创建了一个具有axWindowsMediaPlayer 控件的 Windows 窗体应用程序。我没有在上面创建播放列表,但我已将我的.mp4文件存储在特定位置。我将路径传递到媒体结束状态的下一个视频。玩家第一次收到正确的路径并开始游戏。但是对于第二个视频,尽管播放器正在接收正确的播放路径,但我只能看到黑屏。

这是我的媒体结束状态代码:

e.newState == 10当我调试我的应用程序时,我看到媒体播放器在(就绪状态)之后获得了正确的路径。我究竟做错了什么?

编辑1:我发现当前视频进入媒体结束状态后,播放器停止播放。即使我写axWindowsMediaPlayer.ctlControls.play();,也不会影响媒体播放器。这是 axWindowsMediaPlayer 中的错误吗?

0 投票
1 回答
1741 浏览

c# - 如何播放列表中的所有歌曲与 Windows 媒体播放器?

所以我有一个名为 SąrašasList 的列表类,它有一个名为 vardas 的字符串项,其中包含一首歌曲的路径名,我在这个列表中的歌曲很少,还有带有 AX Windows Media 播放器的 GUI,但是当我写的时候:

它只播放最后一首歌曲,但没有播放另一首歌曲,我该怎么办?我希望这个播放器能一首一首地播放所有歌曲。

0 投票
1 回答
628 浏览

c# - 延迟 axWindowsMediaPlayer 播放列表中的下一个项目,直到当前项目完成播放

我使用以下代码在我的播放列表中创建和循环播放我的视频:

但是,我发现播放列表中的下一个项目在播放列表中当前项目结束之前播放 2 秒。然后,新项目再次播放(即项目的前 2 秒播放两次,一次在当前项目结束之前,一次在下一个项目的开头)。

如何确保仅在当前项目播放完毕后才加载下一个项目?

要求2:如何检测播放列表的结尾(即播放完所有视频后)

我试图在PlayStateChange事件中捕获它,但我无法在Media EndedStoppedLast状态中捕获它

0 投票
1 回答
459 浏览

c# - 在存在 axWindowsMediaPlayer 的情况下 WinForms C# 中的 timer1_Tick 事件

注意:此应用程序专为触控设备 (MS Surface Hub) 而设计

我的 Windows 窗体包含axWindowsMediaPlayer组件。我已经创建了一个播放列表,并且可以在播放列表中循环播放媒体文件。但是,我希望我的 axWindowsMediaPlayer 播放列表在 5 秒(仅用于测试/调试目的的时间限制)不活动(更准确地说没有用户输入)后暂停,并显示一个对话框,询问我是否希望继续。

以下是我设置timer_Tick事件的代码:

使用此代码,应用程序不会进入timer1_Tick事件。

查询:

  1. e.newState == 3 (播放状态)是否被axWindowsMediaPlayer视为输入?
  2. 如何确保应用程序进入timer1_Tick事件?

如果我删除axWindowsMediaPlayer部分代码,那么 timer1_Tick 事件就会响应。

0 投票
0 回答
1199 浏览

c# - 为什么我不能在 Windows Media Player 控件中设置 currPosition

我在 Winforms 应用程序中使用 Windows 媒体控件 (AxWMPLib.AxWindowsMediaPlayer) 来播放 mp4 视频。我希望能够在特定位置开始播放视频,然后在一定秒数后停止播放。

我的问题是,当我尝试设置当前位置时,它要么将当前位置设置为零(在开始播放之前或暂停时),要么将当前位置设置为 6(如果它已经在播放)。

这就是我试图改变当前位置的方式: m_windowsMediaPlayer.Ctlcontrols.currentPosition = value;

这个问题Embedded Windows Media Player Set Position is slow表明该问题可能是由于关键帧数量过少引起的,但我尝试将其设置为 30 秒还是 1200 秒都没有关系。它仍然在 6 秒时再次开始播放。

这个问题Windows Media Player control - get/set video position? 表明设置 currentPosition 对某些人有效。

以下是相关代码:

我还尝试添加一个 OpenStateChanged 事件,因为我认为可能一切都被延迟了,所以我应该只在文件真正打开后才设置它。但这也无济于事。

我正在显示的 mp4 文件仍被另一个应用程序附加。但是静态 mp4 文件也存在问题。如果另一种视频格式效果更好,我应该能够更改其他应用程序以使用该视频格式。我查看了使用 vlcDotNetForms,但由于我希望能够以尽可能少的外部依赖项分发这个应用程序,我希望通过使用 Windows 附带的东西来解决这个问题。

还有一点:我需要支持 Windows Vista 机器,我不能指望它们拥有 .NET 3.5 或更高版本。目前我的目标是 .NET 2,但如有必要,我可以定位 .NET 3。我在 Windows 8.1 上看到了这些问题。

0 投票
1 回答
149 浏览

c# - 在不同设备上播放我的应用程序中带有音频的多个视频

我的应用程序当前使用该AXWindowsMediaPlayer组件播放视频,然后使用默认声音设备播放声音。

我需要添加对播放多个视频的支持,反过来我需要能够为每个视频设置音频源。

关于如何实现这一点的想法:

  1. 将音频端点设置AXWindowsMediaPlayer为我指定的设备(我知道我可以在 windows 媒体播放器程序中执行此操作,但不知道如何在代码中执行此操作)。
  2. 使用 WMP 播放视频并使用 NAudio 流式传输音频。

任何人都可以就如何最好地实现我的需要提供一些建议,或许还可以提供一些我需要查看的文档的链接?我似乎在这方面找不到任何东西。

0 投票
1 回答
211 浏览

c# - axwindowsmediaplayer 的多个实例,只有一个允许全屏模式

我的应用程序产生了多个实例axWindowsMediaPlayer(每个表单一个)。播放一个文件时,设置为全屏不是问题,但是,当播放 2 个文件(每台显示器有一个媒体播放器)时,它不允许两个文件都进入全屏模式(该选项在上下文菜单中显示为灰色当我尝试在代码中设置它时,在第二个视频和错误上)。

这是一个限制axwindowsmediaplayer吗?

0 投票
2 回答
3885 浏览

c# - 使用 MediaPlayer 控件(AxWindowsMediaPlayer)自动播放下一个文件

在 PlayStateChange 事件中更改 AxWindowsMediaPlayer URL 时,它不会自动开始播放,只会更改为“Ready”状态。

我的 C# WinForms 程序中有一个“AxWindowsMediaPlayer”控件。当我通常更改URLWindowsMediaPlayer1 的属性时,它可以正常工作并自动播放新的 mp3 文件。

当歌曲结束时,WindowsMediaPlayer1 的状态变为StoppedI Want 下一个URL自动开始播放。

我使用PlayStatChange了事件,所以当播放器状态为 时StoppedURL会改变,但不会自动播放!

播放器进入Ready状态,直到我按下 WindowsMediaPlayer1 上的播放按钮。

这是代码:

任何帮助,将不胜感激。