我有一个 Windows Media Player ActiveX 控件。我希望它与它的 parent 对齐TPanel。
问题是,无论我尝试什么,WMP 控件始终设置为其初始大小,而无法调整其大小。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XpMan, ExtCtrls, WMPLib_TLB;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
Panel: TPanel;
MP: TWindowsMediaPlayer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Width := 450;
Height := 260;
Panel := TPanel.Create(Self);
Panel.Parent := Self;
Panel.Align := alClient;
MP := TWindowsMediaPlayer.Create(Self);
// MP.stretchToFit := True;
MP.Parent := Panel;
MP.Align := alClient; …Run Code Online (Sandbox Code Playgroud) 我遇到了问题.我在页面中嵌入了WMP,我需要隐藏播放器中的按钮.我让它隐藏在IE和FF中,但我无法在谷歌浏览器中实现它.这是代码
<object id="MediaPlayer1" width="690" height="500" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
standby="Loading Microsoft® Windows® Media Player components..." type="application/x-oleobject"
>
<param name="FileName" value='<%= GetSource() %>' />
<param name="AutoStart" value="True" />
<param name="DefaultFrame" value="mainFrame" />
<param name="ShowStatusBar" value="0" />
<param name="ShowPositionControls" value="0" />
<param name="showcontrols" value="0" />
<param name="ShowAudioControls" value="0" />
<param name="ShowTracker" value="0" />
<param name="EnablePositionControls" value="0" />
<!-- BEGIN PLUG-IN HTML FOR FIREFOX-->
<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src='<%= GetSource() %>' align="middle" width="600" height="500" defaultframe="rightFrame"
id="MediaPlayer2" />
</object>
Run Code Online (Sandbox Code Playgroud)
在JS中我用的方法
var player = document.getElementById("MediaPlayer2");
player.uiMode="none";
Run Code Online (Sandbox Code Playgroud)
隐藏FF中的按钮,但似乎不适用于Chrome.
有没有办法在dotnet应用程序中访问WMP10 +的播放速度控件?
我的表单中嵌入了一个 Windows Media Player 对象,并将其设置为自动播放视频。
我希望该视频永远循环播放,但不知道如何!
右键单击设计视图中的对象会弹出设置并包含“播放计数”,但将其设置为 0 将不起作用。一旦属性窗口关闭,它就会恢复为 1。它也不会接受-1。最大设置为 999,这还不够,因为视频只会循环几个小时。
这就是我操纵控件的方式:
wmpPlayer.Ctlcontrols.play()
wmpPlayer.Ctlcontrols.pause()
wmpPlayer.URL = ofdOpen.FileName 'Play
' This does NOT work to make repeat forever!...
' wmpPlayer.settings.playCount() = 0
Run Code Online (Sandbox Code Playgroud)
我尝试捕获“PlayStateChanged”事件,如下所示:
Private Sub wmpPlayer_PlayStateChange_1(sender As Object, e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles wmpPlayer.PlayStateChange
If e.newState = 8 Then
wmpPlayer.Ctlcontrols.play()
End If
'0 = Undefined
'1 = Stopped (by User)
'2 = Paused
'3 = Playing
'4 = Scan Forward
'5 = Scan Backwards
'6 = Buffering
'7 = Waiting
'8 = …Run Code Online (Sandbox Code Playgroud)我再一次陷入练习中.当我打开我的程序时,我想要一个MP3文件播放 - 我能做到这一点,我得到了音乐.我还想要一个允许暂停音乐的复选框 - 但要么我很累,要么事情不起作用 - 当我检查/取消选中它时没有任何反应.我这样做了:
public void PlayPause(int Status)
{
WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
switch (Status)
{
case 0:
wmp.URL = "Musik.mp3";
break;
case 1:
wmp.controls.play();
break;
case 2:
wmp.controls.pause();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在打开程序时,使用案例0调用该方法.音乐播放.都好.然而,这不起作用,我不明白为什么,因为这是非常简单的代码.
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
PlayPause(2);
}
else if (checkBox1.Checked == false)
{
PlayPause(1);
}
}
Run Code Online (Sandbox Code Playgroud)
任何关于为什么选中复选框的想法都不会暂停/取消暂停音乐?