Sorry this video can not be played!

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();

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

Bom o link do video é este:

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

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)

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();
    }	
}

Ninguem consegue me ajudar a resolver isso? rsrsrs

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,

  • 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
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

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

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>

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?

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

[code]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();
}

}
}
[/code]

Abraço,

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

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.

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();

=)

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 !

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.

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

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

Se conseguir, compartilha comigo!

Boa sorte, abraço.