Я новичок в программировании и в настоящее время использую VideoView в компоненте React Native. Компонент работает, но я заметил, что когда ссылка на видео имеет вид https , он не загружается, но когда он http загружается нормально.
Что может быть причиной этого странного поведения?
Код моего компонента:
public class VideoViewManager extends SimpleViewManager<VideoView> {
public static final String REACT_CLASS = "VideoView";
private ThemedReactContext mContext = null;
@Override
public String getName() {
return REACT_CLASS;
}
@Override
protected VideoView createViewInstance(ThemedReactContext reactContext) {
mContext = reactContext;
VideoView videoView = new VideoView(reactContext);
return videoView;
}
@ReactProp(name="url")
public void setVideoPath(VideoView videoView, String urlPath) {
Uri uri = Uri.parse(urlPath);
videoView.setMediaController(new MediaController(mContext));
videoView.setVideoURI(uri);
videoView.start();
}
}
И
public class VideoViewPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.<ViewManager>singletonList(new VideoViewManager());
}
}
Мой компонент в js:
import PropTypes from 'prop-types';
import { requireNativeComponent, ViewPropTypes } from 'react-native';
var viewProps = {
name: 'VideoView',
propTypes: {
url: PropTypes.string,
}
}
module.exports = requireNativeComponent('VideoView', viewProps);
И использовать:
export default class App extends Component<Props> {
render() {
return (
<View
style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<VideoViewer style={{ flex: 1, width: '100%', height: '100%' }}
url="https://www.radiantmediaplayer.com/media/bbb-360p.mp4" />
</View>
);
}
}
Благодарю всех, кто может мне помочь.