有没有办法在NativeScript中播放视频?

时间:2015-06-23 08:38:41

标签: android telerik hybrid-mobile-app nativescript

我一直在阅读文档https://docs.nativescript.org/modules,但我只能找到一个图片小部件。欢迎提出所有建议。谢谢!

1 个答案:

答案 0 :(得分:3)

新答案(2016年11月10日编辑)

现在有一个跨平台视频播放器模块可用。只需下载并运行:https://github.com/bradmartin/nativescript-videoplayer

E.g。

<Page xmlns="http://schemas.nativescript.org/tns.xsd"
      xmlns:VideoPlayer="videoplayer">
        <StackLayout>
            <VideoPlayer:Video
                loaded="videoplayerLoaded" 
                finished="videoFinished" 
                autoplay="true" 
                height="300" 
                src="~/videos/small.mp4"
            />
        </StackLayout>
</Page>

旧答案

目前,还没有内置的跨平台模块(作为图像)来播放视频。关于这个主题有一个open issue。但是,由于这是NativeScript,您可以调用本机API(这使得NativeScript脱颖而出)。

以下是如何调用iOS AVAudioPlayer的示例:

var Clicker = function(resource) {
    var soundPath = NSBundle.mainBundle().pathForResourceOfType("app/"+resource, "mp3");
    var soundUrl = NSURL.fileURLWithPath(soundPath);
    var player = AVAudioPlayer.alloc().initWithContentsOfURLError(soundUrl, null);
    player.prepareToPlay();

    this.click = function() {
        player.currentTime = 0.0;
        player.play();
    };
};
module.exports.Clicker = Clicker;

完整示例,请参阅https://www.nativescript.org/blog/calcunator-the-nativescript-calculator

你想要做的是看每个平台&#39; API并拨打电话。

媒体播放器的文档:

同样好的阅读是NativeScripts documentation on how to call the native APIs from NativeScript