【问题标题】:flash video netstream.time always returns '0' on air android appflash video netstream.time 在air android app上总是返回'0'
【发布时间】:2014-03-14 13:04:32
【问题描述】:

我已尝试将其简化为本示例的操作代码:(假设“logo.f4v”是项目根目录中的一个短视频剪辑,并且已包含在包中。)

var connection:NetConnection = new NetConnection();
connection.connect(null);
var video:Video = new Video(1280, 720);
addChild(video);
var stream:NetStream = new NetStream(connection);
video.attachNetStream(stream);
stream.play('logo.f4v');
stage.addEventListener(Event.ENTER_FRAME, function(e:Event):void    {   trace(stream.time); });

所以这个应该只是将视频放到舞台上,然后在播放时跟踪流的进度,每帧一个跟踪。通过 Flash IDE 对此进行测试,它会追踪到您期望的值:

0

0.007

0.046

0.092

等等

但在 android 设备上运行时,进度值不会改变以反映播放时间:

0

0

0

0

等等

有什么关系?如果相关,这是一个 ASUS MeMo Pad 10.1,运行操作系统版本 4.3 - 并且 air 应用程序设置为使用 GPU 渲染模式。

【问题讨论】:

  • 另外,Android 上的音量有问题。

标签: android actionscript-3 flash air adobe


【解决方案1】:

我已尝试使用 MP4 源文件播放 NetStream,效果很好(而且时间进度正确), 此外,建议在 Android Air 中使用 StageVideo 和 MP4 文件,以利用硬件加速的优势,从而为您提供更好的质量和更低的功耗。

【讨论】:

  • 嗯,很奇怪。你在什么设备上测试?如果我发布了源文件,您是否愿意尝试使用我正在使用的确切内容进行构建,看看您是否仍然得到不同的结果?
  • 我正在使用 Galaxy Tab 10.1,好的,请发送您的文件,我会尝试。
  • 我试图在Flash Builder中,它工作在这里是输出:0 0 0 0 0 0 0.673 0.673 0.673 0.673 0.673 0.833 0.833 1.133 1.1380000000000001 1.1380000000000001 1.5330000000000001 1.6 1.6 1.7 2.067 2.206 2.206 2.206我的设备称为昂达(OS 4.0 Air 4.0版)
  • 再次强调,如果您想充分利用 GPU,为什么不使用 stage Video,它就是为此而设计的组件。您只需要将视频编码为 MP4 (h264/aac) 格式
  • weeeeird。听起来这可能只是我设备上的问题?为了方便起见,我基本上没有使用 stageVideo - 这是一个快速的项目,将以前的 flash 片段构建到适用于 windows 和 android 的空中应用程序中,我希望在两个操作系统之间保持代码一致 尽可能多地重用以前的版本。希望下一轮我们会有时间表正确,但现在我们必须做到这一点。
猜你喜欢
  • 2023-02-16
  • 1970-01-01
  • 2011-06-16
  • 2011-09-29
  • 2015-10-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多