android video, entendre le son mais pas l'image
J'ai essayé plusieurs exemples, mais je ne peux pas obtenir n'importe quelle vidéo pour montrer. J'entends le son mais pas l'image. J'ai pensé que peut-être j'ai juste eu un mauvais format vidéo j'ai donc téléchargé une fiat commerciale au format 3gp et toujours pas de joie. Je suis à l'aide de l'Eclipse Java EE avec android sdk et mon app objectifs de 1,5 sdk Api (Niveau 3) sans api de google. Quelqu'un pourrait s'il vous plaît poster un lien vers une vidéo connue pour jouer sur android ou mon problème avec le code. J'ai essayé tout ce que je pouvais penser .. avec/sans préparer .. différentes mises en page etc.
Voici mon onCreate de l'activité
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.video_test);
SurfaceView v = (SurfaceView) findViewById(R.id.surface_video);
SurfaceHolder holder = v.getHolder();
//Set the transparency
//getWindow().setFormat(PixelFormat.UNKNOWN);
//Set a size for the video screen
//holder.addCallback(this);
holder.setFixedSize(400,300);
MediaPlayer mp = MediaPlayer.create(this, R.raw.fiat);
mp.setDisplay(holder);
//mp.setAudioStreamType(2);
try {
//mp.prepare();
mp.start();
} catch (IllegalStateException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
elle, c'est la mise en page video_test.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<SurfaceView android:id="@+id/surface_video"
android:layout_width="250px"
android:layout_height="250px">
</SurfaceView>
<LinearLayout
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:padding="10dip"
>
</LinearLayout>
</LinearLayout>
> Blockquote
OriginalL'auteur slytron | 2010-02-02
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez l'émulateur, il peut ne pas fonctionner. L'émulateur manque de l'accélération du matériel disponible dans les appareils Android. Par exemple, sur un 2.6 GHz Core 2 Duo, j'ai parfois peut obtenir une vidéo à lire, mais pas toujours. Sur des machines plus lentes, la lecture vidéo ne fonctionne jamais. Sur un 2.5 GHz Core 2 Quad, j'ai toujours de la lecture vidéo. Cela étant dit, j'ai l'habitude de tester la vidéo sur les périphériques réels.
Je suis aussi incertain si la lecture de la vidéo fonctionne à partir de matières premières. Je vous encourage fortement à essayer à l'aide d'une vidéo à partir d'un fichier sur la carte SD en premier.
À l'égard de vidéos que certainement le travail, je sais que "Documentaires et Vous" et "de la Musique pour nos petits-enfants" de ici travail dans leur MP4 formes.
Cette réponse est tout simplement faux. Lecture de la vidéo, dans son cas, pas de travail car il n'est pas de l'initialisation de rappel sur SurfaceHolder... elle n'a rien à voir avec l'émulateur ou la vitesse de l'ordinateur. Voir la réponse sur le fond avec le code de l'initialisation correcte de SurfaceHolder.
OriginalL'auteur CommonsWare
Vous classe doit implémenter SurfaceHolder.Rappel et appel de méthodes setDisplay, préparer et etc seulement après que vous obtenez dans surfaceCreated. Aussi, vous pouvez avoir besoin de changer de type de surface titulaire de SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS. Comme ceci:
Si vous l'essayez, dans OnCreate vous avez rien comme résultat, parce que la Surface n'est pas encore créé...
Merci beaucoup pour
SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS
! Incroyable! Félicitations sur votre badge d'or -il est très bien mérité!À partir de la doc officielle: Cette constante a été dépréciée de l'API de niveau 11. cette option est ignorée, cette valeur est définie automatiquement en cas de besoin.
OriginalL'auteur wizemanold
Vous pouvez obtenir un exemple complet en regardant le Android ApiDemo exemple d'application (regardez l'exemple sous "Médias"): http://developer.android.com/resources/samples/ApiDemos/index.html
Comme pour un film d'échantillon à utiliser avec la démo, j'ai utilisé les liens YouTube site mobile avec succès.
OriginalL'auteur Alex W
Je suis tombé sur le même problème. J'ai été en mesure de le réparer en changeant SurfaceView à VideoView dans le fichier XML du fichier de mise en page. Garder tout le reste du code de la même. Cela a fonctionné pour moi, je ne sais pas pourquoi.
OriginalL'auteur speedplane
C'est un vieux problème, mais ma réponse peut aider quelqu'un.
À supporter les anciennes versions d'Android, vous devez ajouter cette ligne :
OriginalL'auteur user4137900
Si un fichier vidéo va jouer dans un joueur dépend de trois choses:
votre lecteur de support de cette combinaison de format de conteneur et codec
(Un codec, si vous ne savez pas, est essentiellement un modèle d'une formule mathématique qui indique à votre système de façon à tour de bits et d'octets emballé dans un fichier en images animées(et retour))
OriginalL'auteur Chetan Patel