gpt4 book ai didi

android - 独立世博项目中的视频播放器

转载 作者:行者123 更新时间:2023-12-03 05:36:38 28 4
gpt4 key购买 nike

我目前正在开发一个带有 expo 库的 react-native 移动应用程序。由于 expo 不支持每个第三方库,因此项目必须与 expo 分离。

当我尝试将视频播放器添加到项目中时,出现了我的问题。
我想可能是其他一些库与视频播放器发生冲突,所以我制作了一个新的干净项目,只有视频播放器。

干净的项目与主项目具有相同的设置,react-native with detached expo。

我按照本指南从博览会中分离:https://docs.expo.io/versions/v28.0.0/expokit/detach/

我按照本指南设置 react-native-unimodels:https://github.com/unimodules/react-native-unimodules

我按照本指南添加了视频库:https://github.com/expo/expo/tree/master/packages/expo-av

当我尝试在 Android Studio 中编译代码时,我得到以下错误输出:compilation error

我的 App.js代码:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { Video } from 'expo-av';

export default class App extends React.Component {
render() {
return (
<Video
source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }}
rate={1.0}
volume={1.0}
isMuted={false}
resizeMode="cover"
shouldPlay
isLooping
style={{ width: 300, height: 300 }}
/>

);
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});

我的 build.gradle(模块:app): https://pastebin.com/kHTTdUrM

我的 build.gradle(项目:android): https://pastebin.com/idxF7a8j

主要应用:
public class MainApplication extends ExpoApplication implements AppLoaderPackagesProviderInterface {

private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider(Arrays.<Package>asList(
new ReactAdapterPackage(),
new ConstantsPackage(),
new PermissionsPackage(),
new FileSystemPackage(),
new AVPackage()
), Arrays.<SingletonModule>asList());

@Override
public boolean isDebug() {
return BuildConfig.DEBUG;
}

// Needed for `react-native link`
public List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ModuleRegistryAdapter(mModuleRegistryProvider)
);
}

public List getExpoPackages() {
return Arrays.asList(
new CameraPackage(),
new ConstantsPackage(),
new SensorsPackage(),
new FileSystemPackage(),
new FaceDetectorPackage(),
new GLPackage(),
new GoogleSignInPackage(),
new PermissionsPackage(),
new SMSPackage(),
new PrintPackage(),
new ConstantsPackage(),
new MediaLibraryPackage(),
new SegmentPackage(),
new FontLoaderPackage(),
new LocationPackage(),
new ContactsPackage(),
new BarCodeScannerPackage(),
new AdMobPackage(),
new LocalAuthenticationPackage(),
new LocalizationPackage(),
new AppAuthPackage(),
new TaskManagerPackage(),
new BackgroundFetchPackage()
);
}

@Override
public String gcmSenderId() {
return getString(R.string.gcm_defaultSenderId);
}

@Override
public boolean shouldUseInternetKernel() {
return BuildVariantConstants.USE_INTERNET_KERNEL;
}

public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) {
// Customize/override OkHttp client here
return builder;
}
}

更新:

对于这个涉及 expo 的问题,我们没有找到任何解决方案,我们所做的是完全删除 expo 库并创建一个只有 react-native 的新项目。到目前为止,添加应用程序所需的所有库都没有问题。

最佳答案

您可以使用 video module没有分离它。

你不需要做expo eject .

视频示例.js:

import { Video } from 'expo';
...
<Video
source={{ uri: 'http://d23dyxeqlo5psv.cloudfront.net/big_buck_bunny.mp4' }}
rate={1.0}
volume={1.0}
isMuted={false}
resizeMode="cover"
shouldPlay
isLooping
style={{ width: 300, height: 300 }}
/>

它是 link关于视频模块

关于android - 独立世博项目中的视频播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com