我正在尝试创建一个blob url使用字符串作为JwPlayer字幕的文件。
字幕加载方式如下:
const playlistItem = {
...
tracks: [
{
file: 'https://myfakesite.org/subtitles.vtt',
label: 'en'
}
]
}因此,因为jwplayer不接受我的源代码(subtitles.ass),所以我将.ass转换为字符串形式的.vtt结果。
如下所示:
var vttRaw = `WEBVTT
00:00:25.520 --> 00:00:29.250
Naquele dia,
a humanidade foi lembrada...
00:00:35.110 --> 00:00:38.180
do terror de estar à mercê deles`;因为jwplayer需要一个url,所以我将这个字符串转换为blob url:
//Generate blob
var blob = new Blob([vttRaw], {
type: "text/vtt; charset=utf-8"
});
//Generate url
var vtt_url = URL.createObjectURL(blob) + "#.vtt";在web浏览器中工作,但在react-native-android中会导致错误。
Possible Unhandled Promise Rejection (id: 0):
Error: Cannot create URL for blob!我认为问题在于生成一个blob url,谁知道我能做什么?
发布于 2021-02-02 23:43:59
我在React Native for Android中遇到了这个问题。以下代码在iOS中有效,但在安卓中不起作用
URL.createObjectURL(blob)尝试传递base64数据,而不是像this post中那样传递url。
可能是这样的:
//Generate blob
var blob = new Blob([vttRaw], {
type: "text/vtt; charset=utf-8"
});
const fileReaderInstance = new FileReader();
fileReaderInstance.readAsDataURL(blob);
fileReaderInstance.onload = () => {
base64 = fileReaderInstance.result;
vtt_data = base64;
}https://stackoverflow.com/questions/65216756
复制相似问题