无法使用 Android 版 Chrome 播放 blob-url 视频

2024-01-04

我在尝试在 Android 版 Chrome 中录制和播放视频时遇到了一个不寻常的问题。 (相同的代码在桌面版 Chrome 上运行良好)。

首先,一些信息:

  • 安卓4.4.2
  • 适用于 Android 的 Chrome 40.0.2214.89
  • 它适用于桌面版 Chrome 40.0.2214.94 m
  • 将 blob 存储到本地文件后,媒体播放器应用程序可以正确再现它。
  • 所需记录RTC.js

我的目标是从平板电脑的摄像头录制视频并播放录制的视频。 这是一个示例代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Camera Test</title>
    <script type="text/javascript" src="//cdn.WebRTC-Experiment.com/RecordRTC.js"></script>
    </head>
    <body>

<script>


var cameraStream;
var cameraEl;
var cameraRecorder;
var cameraBlobURL;

window.URL = window.URL || window.webkitURL; 
navigator.getUserMedia = (  navigator.getUserMedia ||
                            navigator.webkitGetUserMedia ||
                            navigator.mozGetUserMedia ||
                            navigator.msGetUserMedia);



function askForCamera(){
    navigator.getUserMedia(
        { 
            video : true 
        },
        function(stream) {
            cameraStream = stream;
            cameraEl = document.getElementById("vidCamera");
            cameraEl.src = window.URL.createObjectURL(stream);  
        },
        function(){
            alert('fail camera');
        }
    );
}


function playCamera(){
    cameraEl.play();
}


function startRec(){
    cameraRecorder = RecordRTC(
                    cameraStream, 
                    {
                        type: 'video',
                        disableLogs : true
                    }
    );              
    cameraRecorder.startRecording();            
}

function stopRec(){
    cameraRecorder.stopRecording(function(blobURL){
        cameraBlobURL = blobURL;
        console.log(cameraBlobURL);
        alert(cameraRecorder.getBlob().type + '     ' +cameraRecorder.getBlob().size);

    });
}

function setBlob(){
    cameraEl.src = cameraBlobURL;   
}


</script>


<p>Buttons:</p>
<button type="button" onclick="askForCamera()">Ask for camera</button>
<button type="button" onclick="playCamera()">Play camera</button>
<button type="button" onclick="startRec()">Start Rec</button>
<button type="button" onclick="stopRec()">Stop Rec</button>

<button type="button" onclick="setBlob()">Set blob to camera</button>
<button type="button" onclick="playCamera()">Play camera</button>

<br/>
<p>Camera:</p>
<video id="vidCamera" width="200" height="200">
</video>



    </body>
</html>

我应该如何操作才能确保它在 Android 版 Chrome 上正常运行? 希望可以有人帮帮我。 谢谢大家!


我也在 Chrome 41 上遇到了这个问题,并认为这是一个错误。可能是这个问题:

https://code.google.com/p/chromium/issues/detail?id=253465 https://code.google.com/p/chromium/issues/detail?id=253465

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Android 版 Chrome 播放 blob-url 视频 的相关文章

随机推荐

  • WPF组合框奇怪的问题

    我将 SortedListbox 绑定到 WPF 组合框 一切都很好 当我选择第一个 仅第一个 项目时 问题发生了 问题是 在选择第一个项目后选择新项目时 SelectedValue 不会更改 假设组合中第一项的 SelectedValue
  • 访问 PCI 配置空间中寄存器的正确方法

    当您需要访问 PCI 配置空间中的寄存器时 是否只需使用内置 BIOS 函数将 DWORD 读 写到配置空间中 例如 如果我尝试使用位于 B0 D31 F1 上的 IDE 控制器 我是否可以使用该 BDF 作为 BIOS 功能的参数来继续读
  • DNN 重定向循环

    我正在尝试通过创建数据库副本并将 net 文件复制到新文件夹中来复制用于测试目的的现有 DNN 门户 在复制站点并更改 Web 配置以指向新站点并更改数据库中的别名后 我收到此错误 此网页有重定向循环 网页位于http xxx us xxx
  • zend框架中的动态自定义ACL?

    我需要一个解决方案 允许经过身份验证的用户访问某些控制器 操作 而不是根据其用户类型 即 管理员或普通用户 尽管我稍后可能会使用标准 ACL 添加此内容 但要根据其用户的当前状态 例如 他们成为该网站的会员已经超过 1 周了吗 他们完整填写
  • 如何在recyclerview中显示加载消息

    我有一个 recyclerview 我想在回收器填充来自 json 的数据时显示 正在加载 消息或旋转圆圈 这是我的回收商的代码 arrayList new ArrayList lt gt adapter new ListAdapterGr
  • Palm Pre 框架

    我有一定的网络开发经验 不是我的主要技能 但我的基础知识相当不错 我非常缺乏的是现代 JS 框架 Prototype jQuery YUI 等 的知识和经验 我想和他们一起玩 最终都会有 但需要从一个开始 问题是这样的 我是very最终有兴
  • C++11 非静态成员初始值设定项和删除的复制构造函数

    我正在尝试使用 GCC 4 7 2 MinGW 编译以下简单代码 这里我使用 C 11 功能 非静态成员初始值设定项 include
  • 有什么办法可以有异步消息框吗?

    或者我必须使用线程 C 不 没有 或者 您可以创建 非模式对话框
  • 使用模型名称和外键模型的区别

    In the Django 文档 https docs djangoproject com en dev ref models fields foreignkey条目为ForeignKey 它说 如果需要在尚未定义的模型上创建关系 可以使用
  • PuTTY plink发送control+C

    我正在使用 Putty plink 命令行实用程序在 UNIX 服务器上运行一些脚本 我使用 m 选项 plink ssh pw xxx myserver m file txt 文件 file txt 包含要执行的命令列表 并且是使用某些应
  • Twitter API 仅应用程序模式身份验证

    我尝试集成 STTwitter 框架 Github 项目 以与 Twitter API 1 1 进行交互 在我的开发帐户中创建应用程序后 我使用 OAuth 凭据进行仅应用程序模式身份验证 无论如何 我收到以下错误 但我不知道如何修复它 错
  • 这是在存储过程中使用 UNION ALL 的正确方法吗?

    这是正确的方法吗UNION ALL在存储过程中 ALTER PROCEDURE GetHomePageObjectPageWise PageIndex INT 1 PageSize INT 10 PageCount INT OUTPUT w
  • 为云函数指定区域时出现异常“firebase.functions() gets ... no argument ...”

    我正在关注 Firebase文档 https firebase google com docs functions locations http and client callable functions为了从网页调用位于不同区域的可调用函
  • 如何在 gradle kotlin-dsl 中覆盖任务

    在 Groovy 中 我重写了这样的任务 task jar overwrite true 如何使用 Kotlin dsl 做到这一点 我知道我可以创建这样的任务 tasks val jar by creating 但我找不到将其声明为覆盖的
  • 如何从 JSON 中删除不需要的字符串属性

    假设我的输入遵循 JSON obj x y test str myStr Hi 我想删除所有空字符串和值为N A使输出变为 obj y test str myStr Hi 请注意 上面的输入只是一个示例输入文件 我尝试写一些代码 var s
  • libcurl -curl_easy_perform() 失败:SSL CA 证书有问题(路径?访问权限?)

    我在 Windows 7 x64 上使用 mingw64 MSYS2 从下面的链接编译了简单的 libcurl 示例程序 https curl se libcurl c simple html https curl se libcurl c
  • 为什么访问我的根路径需要预热时间才能使我的测试数据可用?

    我正在从 capybara webkit 切换到 poltergeist phantomjs 我遇到了计时问题 并且已确定哪一行代码需要预热时间 但我无法确定这是为什么或如何解决它 我有一个 225 行规范文件 其中包含几十个测试 在任何给
  • OneNote API 有什么方法可以提取另一个 OneNote 页面的链接吗?

    如果我们在 HTML 内容中有指向另一个 OneNote 页面的链接 a href 编辑 好吧 我已经编写了例程来提取链接笔记的页面 id 但该页面 id 与作为链接笔记的属性 id a
  • sourcetree 行结束问题

    我遇到了一个非常奇怪的空白问题 我正在使用 WordPress 网站的本地副本 并在 wp content themes 文件夹中使用 git 存储库 以便跟踪对任何主题的所有更改等 当我设置存储库时 它认为每个文件 除了 gitignor
  • 无法使用 Android 版 Chrome 播放 blob-url 视频

    我在尝试在 Android 版 Chrome 中录制和播放视频时遇到了一个不寻常的问题 相同的代码在桌面版 Chrome 上运行良好 首先 一些信息 安卓4 4 2 适用于 Android 的 Chrome 40 0 2214 89 它适用