我在播放本地存储在离子应用程序中的视频时遇到问题。我想我尝试了所有可能的解决方案而没有成功所以我决定在这里问一下。我将尝试描述我的应用程序是如何构建的。
我的根文件夹是:import java.util.function.UnaryOperator;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;
import javafx.scene.control.TextFormatter.Change;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class IPTextFieldTest extends Application {
@Override
public void start(Stage primaryStage) {
TextField ipTextField = new TextField();
String regex = makePartialIPRegex();
final UnaryOperator<Change> ipAddressFilter = c -> {
String text = c.getControlNewText();
if (text.matches(regex)) {
return c ;
} else {
return null ;
}
};
ipTextField.setTextFormatter(new TextFormatter<>(ipAddressFilter));
StackPane root = new StackPane(ipTextField);
Scene scene = new Scene(root, 350, 120);
primaryStage.setScene(scene);
primaryStage.show();
}
private String makePartialIPRegex() {
String partialBlock = "(([01]?[0-9]{0,2})|(2[0-4][0-9])|(25[0-5]))" ;
String subsequentPartialBlock = "(\\."+partialBlock+")" ;
String ipAddress = partialBlock+"?"+subsequentPartialBlock+"{0,3}";
return "^"+ipAddress ;
}
public static void main(String[] args) {
launch(args);
}
}
在index.html里面的body标签我只有ion-nav-view标签对。我使用3个模板存储在:
/myApp/www/
在/views/homepage.html
/views/sights/list.html
/views/sights/detail.html
内部,我为每个模板配备了控制器,直到这里,everthing工作正常。
内部/js/app.js
我正在使用视频标记:
/views/sights/detail.html
我有这套:
<div class="video-container">
<video controls="controls">
<source ng-src="/video/vid01.mp4" type="video/mp4"/>
</video>
</div>
我试过的其他src路径:
<ion-content overflow-scroll="true">
<manifest android:hardwareAccelerated="true" ....> inside AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
但这有效:
file:///video/vid01.mp4
file:///android_asset/www/video/vid01.mp4
file:///mnt/sdcard/media/video/vid01.mp4
不幸的是,这对我来说不是一个选择。该应用程序将在没有任何互联网连接的情况下使用,因此我需要在应用程序内部播放视频。
只有当我从cmd运行我的应用时,本地存储的视频才能正常运行:http://someserver.com/somevideo.mp4
。
当我尝试在Android(4.4.4 kitkat)上部署应用程序时,如:ionic serve
一切正常,但视频拒绝播放。
我想我真的尝试了一切。不幸的是,有关如何在离子应用中播放视频的所有教程都是通过在线视频制作的,这些示例仅适用于不在Android设备上的浏览器。
答案 0 :(得分:0)
交叉行走解决了我的问题
cross walk使我能够在离子应用程序中使用<video>
标记,这是默认情况下不允许的
是关于离子1.x