2015-02-04 2 views
2

Android 용 Chrome에서 동영상을 녹화 및 재생하는 중에 비정상적인 문제가 발생합니다. (동일한 코드가 데스크톱 용 Chrome에서 잘 작동합니다.) 모든Android 용 Chrome을 사용하여 blob-url 동영상을 재생할 수 없습니다.

첫째, 일부 정보 : 안드로이드 40.0.2214.89 그것은에 BLOB를 저장 한 후 바탕 화면 40.0.2214.94 분

  • 위해 크롬에서 작동
  • 에 대한

    • 안드로이드 4.4.2
    • 크롬 로컬 파일은 mediaplayer-app에 의해 올바르게 재현됩니다.
    • 필수 RecordRTC.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> 
    
    ? 누군가 나를 도울 수 있기를 바랍니다. 감사합니다.

  • +0

    아무 도움도? – ExDev

    +0

    결국 해결할 수 있었습니까? – Shay

    +0

    @Shay : 불행히도 아직 해결책을 찾지 못했습니다. 어떤 이유로 Chrome이 파일 시스템의 임시 파일에 액세스 할 수 없다고 생각합니다. – ExDev

    답변

    4

    Chrome 41에서도이 문제가 발생하여 버그가 있다고 생각합니다. 가능한이 문제 :

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

    +1

    네, 확실히 Android의 버그입니다. 스타일 시트, 이미지에 대해 잘 작동하지만 미디어 모듈은 분명히 캐시 경로를 다르게 해결합니다. Chrome 데스크톱, Safari 및 iOS에서 작동합니다. –

    관련 문제