草庐IT

倍速播放切换

全部标签

windows - 在不安装 directShow 过滤器的情况下分发 webm/VP8 播放器

我将要编写一个C#应用程序来播放webm视频文件,其中包含VP8编码的视频流。是否可以在用户不安装DirectShow过滤器的情况下执行此操作?即通过分发提供一些DLL?从许可的角度来看,这是允许的吗? 最佳答案 DirectShow过滤器一旦被添加到过滤器图中就可以运行。所以您不一定需要过滤器COM注册:您可以通过显式调用自己将其添加到那里。然后你可以通过COM或其他方式实例化它。如果您需要标准过滤器注册来实例化过滤器,您可以利用reg-freeCOM或者简单地加载DLL并通过导出的DllGetClassObject函数获取其工厂

c# - 按下按钮时在 C# 中播放声音

我尝试从按钮事件处理程序播放声音:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Runtime.InteropServices.WindowsRuntime;usingWindows.Foundation;usingWindows.Foundation.Collections;usingWindows.UI.Xaml;usingWindows.UI.Xaml.Controls;usingWindows.UI.Xaml.Controls.Primitives;

windows - 如何在 EditBox 中切换自动换行

如何在多行EditBox中切换自动换行?我可以使用或不使用它来创建它,但我不知道应该使用哪个消息来切换包装模式。 最佳答案 EditBox不支持切换自动换行。没有可以发送的消息,也不能更改窗口样式,因为MSDNsays:Afterthecontrolhasbeencreated,thesestylescannotbemodified,exceptasnoted.您唯一的选择是创建一个具有所需样式的新控件(WS_HSCROLL|ES_AUTOHSCROLL),将文本复制到新控件中,然后销毁旧控件。在Windows2000和更高版本上,

windows - 如何拦截和取消应用程序的自动播放?

我正在开发一个应用程序来安装来自多张DVD的大量数据文件。该应用程序将提示用户插入下一张磁盘,但Windows将自动尝试在资源管理器窗口中打开该磁盘或询问用户如何处理新磁盘。如何拦截和取消来self的应用程序的自动播放消息? 最佳答案 我知道有两种方法。第一个也是最简单的方法是注册特殊的Windows消息“QueryCancelAutoPlay”,并在处理该消息时简单地返回1。这仅适用于当前窗口,不适用于后台应用程序。第二种方法需要将实现COM接口(interface)IQueryCancelAutoPlayCOM接口(interf

c# - 以编程方式更改播放设备 xp

如何在不进入控制面板>声音设备>选择播放设备的情况下更改当前使用的声卡(xp)。任何语言都可以,或者批处理文件,只是我必须每天更换设备播放大约50次,而且每次都必须加载控制面板,这很痛苦。如何? 最佳答案 要在WindowsXP中设置默认的声音播放设备,您可以更改以下注册表项的值:HKEY_CURRENT_USER\Software\Microsoft\Multimedia\SoundMapper\Playback可能是最简单的事情,给定一个现有配置,其中包含您希望能够从已安装的所有设备中进行选择,就是在“声音和音频设备属性”控件中

windows - 在 Windows 中使用 CAPS LOCK 作为 Vim 模式切换键

很多人都有asked和written关于如何mapCapsLocktoEsc或Control,但我想使用CapsLock键作为插入模式和正常之间的切换模式,我还没有找到解决如何执行此操作的任何内容。(然后我想让ShiftCapsLock做一个CapsLock通常单独做的事情,对于那些罕见的时候需要CapsLock,就像在输入长的CONSTANT名称时一样。但这确实是一个单独的问题,如果确实有一种方法可以完成第一部分,我稍后再讨论。所有这一切很可能是不可能的.)最近我在工作中主要使用Windows,所以这是我目前最关心的。(由于这可能涉及某种仅限Windows的黑客攻击,我将针对我也使用

c# - 在 C# 中播放部分声音 (WMA) 文件

我有一个WMA文件,其中包含许多不同的音频片段。有什么方法可以播放声音流的一部分吗?类似于:publicstaticvoidPlay(StreamsoundStream,longstart,longend); 最佳答案 您可以使用NAudio来做到这一点,它是.Net的音频库。使用示例here我能够抛出一个快速测试应用程序来尝试它。使用WaveSteam.Skip(intseconds)方法,您可以从文件中的特定位置开始。我一直无法弄清楚如何获得最终位置。下面是在30秒标记处启动wma文件的修改示例:IWavePlayerwaveO

C++在32位应用程序之间传输大量数据以进行视频播放的方法

我知道共享内存和进程间通信的基础知识,但由于我的应用程序相当具体,所以我提出这个问题是为了获得一般反馈。我在64位机器(MacOS和Win64)上工作,使用32位视觉编码工具包。此时将工具包移植到64位是不切实际的,所以我有内存限制。我正在开发一个必须能够快速删除(根据用户输入来回)高质量视频的应用程序。显而易见的解决方案是:1-将其全部保存在内存中。2-从磁盘流式传输。目前将其全部放入内存需要将视频质量降低到NotAcceptable程度,而从磁盘流式传输会导致擦洗在加载时挂起。我目前的思路是运行一个master和多个slave程序。每个从机将视频的一段加载到内存中,当主程序需要加载

c# - 媒体播放器如何播放列表框中的所有文件?

我有一个列表框,其中包含必须播放的所有媒体文件。如何让媒体播放器一个一个播放?此代码播放1首歌曲,但foreach应该播放所有文件,但我怀疑这是因为它不会等到媒体结束..这段代码:列表框=listBox3listBox3Dict[s]=列表框中所有文件的字符串DictionarylistBox3Dict=newDictionary();>privateboollistbox3job()>{>AxWMPLib.AxWindowsMediaPlayeraxWmp=wfh.ChildasAxWMPLib.AxWindowsMediaPlayer;>{>foreach(varselectedi

c++ - SDL2 为假全屏切换 SDL_WINDOW_RESIZABLE 状态

要在没有模式集的情况下在SDL2中创建一个“假的”全屏窗口,您可以使用类似这样的方法创建一个无边框的最大化窗口。intidx=SDL_GetWindowDisplayIndex(g_displayWindow);SDL_Rectbounds;SDL_GetDisplayBounds(idx,&bounds);//SDL_SetWindowResizable(g_displayWindow,SDL_FALSE);SDL_SetWindowBordered(g_displayWindow,SDL_FALSE);SDL_SetWindowPosition(g_displayWindow,bo