使用netstream(NetStream.Play.StreamNotFound)在MAC OS中无法播放本地视频文件(.mp4)文件

时间:2015-04-21 11:22:37

标签: macos air video-streaming flash-builder netstream

我使用adobe flash builder 4.6开发了适用于Windows和Mac OS的adobe air应用程序。应用程序允许用户在特定位置下载系统中的电影(.mp4)文件,无需实时流媒体播放。在操作系统中正确下载文件,并正确地从Window应用程序中的下载位置播放文件。但是当开始播放文件时,Mac OS应用程序无法开始播放。

当开始在mac OS中播放时,NetStatusEvent.Net_Status事件返回" NetStream.Play.StreamNotFound"事件信息代码。我发现mac OS的一个解决方案是使用冒号而不是斜杠表示法。我试过了,但也没用。

_nc = new NetConnection();
_nc.addEventListener(NetStatusEvent.Net_Status, connectionHandler);
_nc.connect(null);

private function connectionHandler(event:NetStatusEvent):void
{
     trace("Connection to server: " + event.info.code);
     /// Get "NetStream.Play.StreamNotFound" code in mac OS.    
}

我找到了一种用于mac OS的方法 - 使用基于冒号的表示法而不是基于斜线的表示法。但它不适合我。我用了以下。

slash notation path: /Users/mayur/Downloads/myvideo.mp4 (Original path)
Colon notation path: I have tried following colon notation path
1) :Users:mayur:Downloads:myvideo.mp4
2) Users:mayur:Downloads:myvideo.mp4
3) Macintosh HD:Users:mayur:Downloads:myvideo.mp4 (Macintosh HD - Drive name)

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

Flash只能播放位于应用程序目录或其子目录中的文件。 请参阅NetStream#play()方法的参考。

而且,在Mac环境中,绝对路径并不是在徘徊。 尝试使用NetStream#play()方法的相对路径。

答案 1 :(得分:0)

我遇到了完全相同的问题,并通过在文件路径前添加“ file://”来解决了这个问题。

似乎至少在Mac / iOS上,首次出现/下载目标文件时,NetStream.play()要求使用标准路径。