Sorry this video can not be played!

24 respostas
R

Bom, tenho um Componente VideoView no meu main.xml e estou tentando executar um Stream de Video nele porém sempre da o erro Sorry this video can not be played, segue parte do meu código:

String url = "http://www.querobuy.com/wiin/VIDEO-AULAS/Introdu%e7%e3o%20Wiin.mp4";
Uri video = Uri.parse(url);
VideoView vv = (VideoView) findViewById(R.id.videoView1);
vv.setVideoURI(video);
vv.requestFocus();
vv.start();

24 Respostas

eliangela

já viu se vc está passando ID do vídeo corretamente?

R

Bom o link do video é este:

http://www.querobuy.com/wiin/VIDEO-AULAS/Introdu��o%20Wiin.mp4

Marky.Vasconcelos

Eu não tentei colocar videos por streaming na minha aplicação, mas com caminhos absolutos eu uso o setVideoPath (não lembro por que com URI não funcionava)

R

Mesmo erro, eu tirei o URI e passei direto a URL do video mais não funcionou , veja só como ficou meu códig:

package com.example.android.apis;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.VideoView;

public class IURDTV_PROJECTActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener(this);
    }
    
    @Override
	public void onClick(View v) {
      String url = "http://www.querobuy.com/wiin/VIDEO-AULAS/Introdu%e7%e3o%20Wiin.mp4";
	  VideoView vv = (VideoView) findViewById(R.id.videoView1);	    
	  vv.setVideoPath(url);
	  vv.requestFocus();		
	  vv.start();
    }	
}
R

Ninguem consegue me ajudar a resolver isso? rsrsrs

felipebonezi

Você colocou no seu AndroidManifest.xml a permissão para acesso a INTERNET?
Você setou o MediaController?

Pelo o que li no site do developer.android , ficou meio vago se ele consegue executar arquivos de vídeo (.mp4) através da url, vou testar aqui.

Leia aqui qualquer coisa-> http://developer.android.com/reference/android/widget/VideoView.html

Qual o erro que aparece?

Abraço,

R
  • Não utilizei o MediaController, tem necessidade ? só coloquei o componente VideoView mesmo e na rotina executei : videoview.start();
  • Como faço para ver se está setada a permissão de internet no arquivo AndroidManifest.xml
eliangela
Mais informações em: [url]http://developer.android.com/guide/topics/fundamentals.html#Manifest[/url] e [url]http://developer.android.com/reference/android/Manifest.permission.html[/url]

Mais informações em: http://developer.android.com/guide/topics/fundamentals.html#Manifest e http://developer.android.com/reference/android/Manifest.permission.html

R

Mesmo problema … adicionei a linha de permissão de acesso à internet no meu AndroidManifest.xml porém da o mesmo erro, Sorry this video can not be played

R

Assim ficou meu AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.android.apis"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MYFIRST_PROJECTActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
          <uses-permission android:name="android.permission.INTERNET" />      
        </activity>

    </application>
</manifest>
felipebonezi

Cara, eu executei pelo Windows Media Player este seu vídeo e rodou. Só que quando teste no emulador do android deu o mesmo erro que o seu…

Agora até eu fiquei intrigado, alguém tem alguma solução?

felipebonezi

Testa este código meu caro rapaz.
Dai é só você fazer as suas modificações...
Aqui funcionou :) :) :)

-
public class VideoDemo extends Activity {
  private VideoView video;
  private MediaController ctlr;
  
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    setContentView(R.layout.main);
  
    File clip=new File(Environment.getExternalStorageDirectory(),
                       "test.mp4");
    
    if (clip.exists()) {
      video=(VideoView)findViewById(R.id.video);
      video.setVideoPath(clip.getAbsolutePath());
      
      ctlr=new MediaController(this);
      ctlr.setMediaPlayer(video);
      video.setMediaController(ctlr);
      video.requestFocus();
      video.start();
    }
  }
}

Abraço,

R

Você poderia “debugar” este código para mim, não entendi a sua lógica

R

Modifiquei meu código com as modificações necessárias e ficou assim:

package com.example.android.apis;

import java.io.File;

import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.VideoView;

public class IURDTV_PROJECTActivity extends Activity{
    /** Called when the activity is first created. */
	  private VideoView video;  
	  private MediaController ctlr;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);  
        setContentView(R.layout.main);  
        
        File clip=new File(Environment.getExternalStorageDirectory(),  
                           "http://www.querobuy.com/wiin/VIDEO-AULAS/Introdu%e7%e3o%20Wiin.mp4");  
          
        if (clip.exists()) {  
          video=(VideoView)findViewById(R.id.videoView1);  
          video.setVideoPath(clip.getAbsolutePath());  
            
          ctlr=new MediaController(this);  
          ctlr.setMediaPlayer(video);  
          video.setMediaController(ctlr);  
          video.requestFocus();  
          video.start();  
        } 
    }
    
}

Porém quando mando executar nada aconteçe, agora não da erro porém não mostra nada no emulador.

felipebonezi

Primeiro, modifique a linha 23. Você quer abrir um URL, e não um FILE existente no sdcard ou qualquer outra parte do pc/celular.

String url = new String("http//.../");
          video=(VideoView)findViewById(R.id.videoView1);    
          video.setVideoPath(url);    
              
          ctlr=new MediaController(this);    
          ctlr.setMediaPlayer(video);    
          video.setMediaController(ctlr);    
          video.requestFocus();    
          video.start();

=)

R

Ficou assim :

package com.example.android.apis;

import java.io.File;

import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.VideoView;

public class IURDTV_PROJECTActivity extends Activity{
    /** Called when the activity is first created. */
	  private VideoView video;  
	  private MediaController ctlr;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);  
        setContentView(R.layout.main);  
        
      
          String url = "http://www.querobuy.com/wiin/VIDEO-AULAS/Introdu%e7%e3o%20Wiin.mp4";	
          video=(VideoView)findViewById(R.id.videoView1);  
          video.setVideoPath(url);  
            
          ctlr=new MediaController(this);  
          ctlr.setMediaPlayer(video);  
          video.setMediaController(ctlr);  
          video.requestFocus();  
          video.start();  
        
    }
    
}

Mais continua o mesmo erro !

felipebonezi

Se ainda assim continua o erro, o problema está em seu vídeo. Ele deve ter sido ENCODER em um modo que o android não suporta.

Pesquisa sobre qual ENCODER’S o android suporta.

R

Não há nenhuma forma de executar o video no android ? Ouvi falar de um componente chamado vitamio, não sei se ajuda muito

felipebonezi

Cara, se tem como é só pesquisando alguma API JAVA. :slight_smile:

Se conseguir, compartilha comigo!

Boa sorte, abraço.

R

Bom neste site vov.io há um componente que diz executar muitos formatos de vide em stream ou local no android. Mais eu não consegui usá-lo se poder me ajudar a testar eu agradeco

felipebonezi

Eai, algum avanço???
Porque você não hospeda no youtube e passa uma Intent que abre o browser do vídeo? :slight_smile:

R

Certo esta é uma solução mais há um problema, o vídeo que quero por é online, ou seja, transmissão em tempo real, não há como por isso no youtube, até porque ele está em formato M3U8 ! Esse componente VITAMIO diz que da suporte à M3U8 porém não consegui utilizá-lo

felipebonezi

Android não suporta .m3u8 !!!
Converte para .mp4 ou .3gp =)

R

Certo, Android não suporte e já andei lendo sobre isso, porém como eu havia falado em 3 posts :D, há este componente chamado VITAMIO que da suporte à M3U8 no Android, peço que me ajude a desvendar este componente.

Criado 2 de setembro de 2011
Ultima resposta 9 de set. de 2011
Respostas 24
Participantes 4