- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一个程序使用 AxShockwaveFlash 组件作为流播放器。问题是我的代码适用于大多数流媒体提供商(livestream、ustream、own3d.tv),但 Justin.TV 的播放器有点问题。
在继续解决实际问题之前,让我总结一下我的代码;
继承的 FlashControl - 这允许我覆盖 flashplayer 的内置菜单:
public class FlashPlayer : AxShockwaveFlashObjects.AxShockwaveFlash // Customized Flash Player.
{
private const int WM_MOUSEMOVE = 0x0200;
private const int WM_MOUSEWHEEL = 0x020A;
private const int WM_LBUTTONDOWN = 0x0201;
private const int WM_LBUTTONUP = 0x0202;
private const int WM_LBUTTONDBLCLK = 0x0203;
private const int WM_RBUTTONDOWN = 0x0204;
private const int WM_RBUTTONUP = 0x0205;
public new event MouseEventHandler DoubleClick;
public new event MouseEventHandler MouseDown;
public new event MouseEventHandler MouseUp;
public new event MouseEventHandler MouseMove;
public FlashPlayer():base()
{
this.HandleCreated += FlashPlayer_HandleCreated;
}
void FlashPlayer_HandleCreated(object sender, EventArgs e)
{
this.AllowFullScreen = "true";
this.AllowNetworking = "all";
this.AllowScriptAccess = "always";
}
protected override void WndProc(ref Message m) // Override's the WndProc and disables Flash activex's default right-click menu and if exists shows the attached ContextMenuStrip.
{
if (m.Msg == WM_LBUTTONDOWN)
{
if (this.MouseDown != null) this.MouseDown(this, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 1, Cursor.Position.X, Cursor.Position.Y, 0));
}
else if (m.Msg == WM_LBUTTONUP)
{
if (this.MouseUp != null) this.MouseUp(this, new MouseEventArgs(System.Windows.Forms.MouseButtons.None, 0, Cursor.Position.X, Cursor.Position.Y, 0));
}
else if (m.Msg == WM_MOUSEMOVE)
{
if (this.MouseMove != null) this.MouseMove(this, new MouseEventArgs(System.Windows.Forms.MouseButtons.None, 0, Cursor.Position.X, Cursor.Position.Y, 0));
}
else if (m.Msg == WM_RBUTTONDOWN)
{
if (this.ContextMenuStrip != null) this.ContextMenuStrip.Show(Cursor.Position.X, Cursor.Position.Y);
m.Result = IntPtr.Zero;
return;
}
else if (m.Msg == WM_LBUTTONDBLCLK)
{
if (this.DoubleClick != null) this.DoubleClick(this, new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 2, Cursor.Position.X, Cursor.Position.Y, 0));
m.Result = IntPtr.Zero;
return;
}
base.WndProc(ref m);
}
}
Player窗口代码:(Player是FlashPlayer的一个实例)
private void Player_Load(object sender, EventArgs e)
{
try
{
this.Text = string.Format("Stream: {0}", this._stream.Name); // set the window title.
this.Player.LoadMovie(0, this._stream.Movie); // load the movie.
if (this._stream.ChatAvailable && Settings.Instance.AutomaticallyOpenChat) this.OpenChatWindow();
}
catch (Exception exc)
{
// log stuff.
}
}
所以这对 livestream.com、ustream.com、own3d.tv 非常有用,但是当涉及到 justin.tv 的播放器时,我收到 1337 错误(无效的嵌入代码)。所以我试着ask them寻求支持,但无法得到有效答案。
_stream.movie 变量实际上包含流源的有效 URL;
http://cdn.livestream.com/grid/LSPlayer.swf?channel=%slug%&autoPlay=true (livestream sample)
或
http://www.justin.tv/widgets/live_embed_player.swf?channel=%slug%&auto_play=true&start_volume=100 (justin.tv sample)
尝试对 justin.tv 的“channel=%slug%&auto_play=true&start_volume=100”部分进行 urlencode,但这也不起作用。
所以我开始尝试一些解决方法,首先我想设置控件的 flashVars 变量。
但我有一个奇怪的问题,每当我尝试设置 flashVars 变量时,它永远不会被设置。我找到了有关该问题的示例屏幕截图;
因此,如果我能够设置 flashVariables,我就可以解决 justin.tv 播放器的错误。顺便说一句,我还尝试使用 Player.SetVariable(key,value) 设置变量 - 这也不起作用。
注意事项:
最佳答案
我最近遇到了让 justin.tv 工作的问题,但最终它变得很简单
axShockwaveFlash1.FlashVars = "auto_play=true&channel=adventuretimed&start_volume=25";
axShockwaveFlash1.Movie = "http://www.justin.tv/widgets/live_embed_player.swf";
而且效果很好
关于c# - 设置 AxShockwaveFlash 的 FlashVars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726053/
我正在尝试使用 JavaScript 将 PHP 解析的输入值中的 URL 分配给 FlashVars ... other HTML code goes here ... var flashvars
我想从下面代码中的字符串中获取 flashvars。但在代码的末尾,匹配值带有其他属性,如 pluginspage。我该如何解决?我的正则表达式错了吗? 这是我的代码: string source =
目前我致力于 Flex 应用程序的本地化。来自 an article我知道您可以使用以下 FlashVar 控制本地化: resourceModuleURL 语言环境链 Flash/Flex 开发人员
到目前为止,在极少数需要与 HTML 进行通信的情况下,我一直在使用ExternalInterface。 FlashVars 被认为是更好/更差还是更新/旧的实践? 或者什么时候使用其中之一?我应该遵
我正在从 JSP 文件中检索 flashvars 对象。喜欢userid = mx.core.Application.application.parameters.userJspid;像这样它在 IE
我的一个程序使用 AxShockwaveFlash 组件作为流播放器。问题是我的代码适用于大多数流媒体提供商(livestream、ustream、own3d.tv),但 Justin.TV 的播放器
我想将自定义按钮添加到特定模型的 rails_admin 新建/编辑页面。 此按钮应将获取请求的内容解析为自定义 URL。 我使用 JQuery 方法发现的当前问题是这样的: $('#your_but
我的 flashvars 有问题,当我从浏览器读取 url 时,如果我只为 Id (我的 url 中的参数)分配了数字,则一切正常,但如果我的 id 包含字符,则它不起作用,我不想更改 mxml 文件
我有一个 flex 应用程序,我需要将 FlashVars 传递到其中。它在桌面浏览器(chrome、firefox、ie)上运行良好,但出于某种原因,当我将它加载到我的 Android 浏览器(令人
我有一个 Flex 3 应用程序(播放器 v9),它加载一个 Flash SWF(AS3,也是播放器 v9),并且需要动态地将一组在运行时已知的参数传递给它。这些是通常通过 flashvars 传递的
是否可以通过命令行将 flashvars 传递给独立的 Flash 播放器?除其他原因外,我想从命令行运行一些单元测试。 我已经做了一些谷歌搜索,之前已经问过这个问题,但我找不到答案。 最佳答案 是的
据我了解,在检索 SWF 文件并向该文件传递参数时,有两种选择可以执行此操作:使用 FlashVars 或查询字符串技术。 假设我希望直接通过 HTTP 获取 swf 文件,以便下载该文件,并且我从源
是否可以使用 SWFObject 将 native JavaScript 对象(例如数组和类似 HashMap 的对象)传递到 Flash Player? 我基本上需要将 Flash 变量中的 Jav
我想在我的预加载器中访问一些 flashvars 到 Flex 应用程序。这怎么可能? 问候阿德勒茨 最佳答案 尝试预加载器的 loaderInfo.parameters 属性。 关于apache-f
最近,一位客户担心他们的 SWF 文件“不安全”,因为 XML 路径来自 Flashvars。在我看来,这并不是真正的问题,因为 SWF 仅显示图像/文本和一些按钮链接。我能理解有人如何找到 swf
我有一个 1.2mb 的 flash swf。我使用动态嵌入将其与 swfobject 一起嵌入。 var flashvars = {}; flashvars.campaignid = "12345
这是我的嵌入: 我想使用 jQuery 将 eid=1107183 替换为 eid=1134229。 我研究了以下内容: var textToReplace = "datapath=http://w
我不知道我是否能够在这里得到这个答案,但我正在尝试让 JW Player 在高质量和低质量设置之间切换。这是我的代码: var so = new SWFObject('/lessons/videos
我正在从 JW 播放器 5 迁移到 JW 播放器 6。在 5 中,我使用 flashvars 来使用 swfobject 集成 akamai 提供商,但在 6 中不支持使用 swfobject 嵌入。
我有这个现有代码不起作用,因为我试图获取 flashvars , itemId 值用于某些目的。我该如何解析和获取它? 我需要值 itemid = "OWYrYlg5VW9GZUI4UjVnMXFOU
我是一名优秀的程序员,十分优秀!