2

我正在使用 cordova-plugin-media-capture 插件来录制视频。当以横向录制时,它可以很好地捕捉到,但在纵向模式下,显示的视频是颠倒的。以下是示例代码

    var options = { limit: 1};
    $cordovaCapture.captureVideo(options).then(function(videoData) {
        addVideoToLocalStorage(videoData, slotNumber);
  }, function(err) {
    $scope.localStorageVideos = 'Err: <br />'+ JSON.stringify(videoData)
  });
4

1 回答 1

0

您可以使用此 config.xml 值锁定应用程序的方向:

<preference name="orientation" value="portrait"/>

虽然这很好用,但您想改为在横向模式下制作视频。你让它在 iOS 上运行良好,但你尝试过的任何东西都不适用于 Android。我首先寻找一个允许我动态切换方向的插件。这一个 屏幕方向效果很好。

所以在这一点上 - 我在应用程序中找到了触发视频进入全屏模式的代码,并添加了两行简单的代码来将方向设置为横向。

video.addEventListener('playing', function() {
     var so = cordova.plugins.screenorientation;
     so.setOrientation(so.Orientation.LANDSCAPE);
}, false);

我做了一些挖掘,发现你可以听到用户离开全屏模式,当他们点击后退按钮时会自动发生这种情况。

jQuery(document).on('webkitfullscreenchange', function(e) {       
    if(!e.currentTarget.webkitIsFullScreen) {
        var so = cordova.plugins.screenorientation;
        so.setOrientation(so.Orientation.PORTRAIT);
    }
});

从这篇博文中得到了很大的帮助。希望这会对你有所帮助。

于 2016-08-29T11:01:48.830 回答