Я использовал этот пакет для видеоплеера vimeo. но получил следующую ошибку. Есть ли другой способ использовать vimeo player в родном приложении?
Invariant Violation: Invariant Violation: requireNativeComponent: "RCTWebViewBridge" was not found in the UIManager.
Я сделал, используя этот код:
// NOTE: Injecting code here due to react-native webview issues when overriding
// the onMessage method. See here: https://github.com/facebook/react-native/issues/10865
export const injectedCode = `
(function() {
var originalPostMessage = window.postMessage;
var patchedPostMessage = function(message, targetOrigin, transfer) {
originalPostMessage(message, targetOrigin, transfer);
};
patchedPostMessage.toString = function() {
return String(Object.hasOwnProperty).replace('hasOwnProperty', 'postMessage');
};
window.postMessage = patchedPostMessage;
})();
`;
getVimeoPageURL(videoId) {
return 'https://myagi.github.io/react-native-vimeo/v0.3.0.html?vid=' + videoId;
}
render() {
return (
<WebView
ref = "webviewBridge"
style = {{
// Accounts for player border
marginTop: -8,
marginLeft: -10,
height: this.props.height
}}
injectedJavaScript = {injectedCode}
source = {{ uri: this.getVimeoPageURL(this.props.videoId) }}
scalesPageToFit = {this.props.scalesPageToFit}
scrollEnabled = {false}
onMessage = {this.onBridgeMessage}
onError = {error => console.error(error)}
/>
);
}
Это работает. Спасибо @crazyvk Как включить полноэкранную кнопку?
Что вы передаете как инъекции кода?
@JuanAraneta я добавил в свой ответ.
Могу ли я получить html-страницу react-native-vimeo/v0.3.0.html?, если ваш сервер не работает. Я могу разместить на своем сервере
Вы пробовали встроенный URL-адрес, предоставленный с видео? Я думаю, вы можете напрямую использовать их.