android-video -, sound hören, aber kein video
Ich habe versucht, mehrere unterschiedliche Beispiele, aber ich kann nicht jedes video zu zeigen. Ich höre Ton, aber kein video. Ich dachte, vielleicht hatte ich nur eine falsche video-format, so dass ich heruntergeladen eine fiat Werbung in 3gp-format und noch keine Freude. Ich bin mit dem Eclipse-Java-EE mit android sdk und meine app Ziele der 1.5-sdk (Api Level 3), ohne google api. Könnte jemand bitte posten Sie einen link zu einem video bekannt, in spielen android oder auf den Punkt zu meinem problem mit dem code. Ich habe versucht alles was ich denken konnte .. mit/ohne Vorbereitung .. verschiedene layouts etc.
Hier ist mein onCreate in der Aktivität
/** 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();
}
Ihr ist das layout in 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
- Ich hatte dieses problem auch mit einer VideoView aber wenn ich den Fokus, nachdem das video startet, dann funktioniert es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit dem emulator, es kann nicht funktionieren. Der emulator fehlt die Hardwarebeschleunigung im Android-Geräten. Zum Beispiel auf einem 2,6 GHz Core 2 Duo, ich kann manchmal ein video Abspielen, aber nicht immer. Auf langsameren Rechnern, video-Wiedergabe funktioniert nie. Auf einem 2,5 GHz Core 2 Quad, bekomme ich immer die video-Wiedergabe. Dass gesagt wird, ich in der Regel testen Sie die video-Wiedergabe auf Geräten.
Ich bin auch nicht sicher, wenn die video-Wiedergabe funktioniert von raw-Ressourcen. Ich ermutige Sie zu versuchen, mit einem video aus einer Datei auf der SD-Karte zuerst.
Bezug auf videos, die auf jeden Fall funktionieren, weiß ich, dass "Dokumentationen und Du" und "Musik für unsere Enkelkinder" aus hier Arbeit in Ihrem MP4-Formen.
Du Klasse implementieren muss, SurfaceHolder.Rückruf und aufrufen von Methoden setDisplay, vorbereiten und etc, nur, nachdem Sie bekommen in surfaceCreated. Auch Sie müssen möglicherweise zum ändern der Art der Oberfläche Inhaber SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS. Wie diese:
Wenn Sie versuchen, es in der OnCreate-Sie hat nichts als Ergebnis, weil die Oberfläche noch nicht erstellt ist...
SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS
! Unglaublich! Herzlichen Glückwunsch zu Ihrem Goldenen Abzeichen -es ist sehr wohl verdient!Können Sie sich ein vollständiges Beispiel, indem man die Android-ApiDemo Beispielanwendung (siehe das Beispiel unter "Medien"): http://developer.android.com/resources/samples/ApiDemos/index.html
Als ein Beispiel für einen Film zu verwenden, mit der demo, die ich verwendet habe, links zu YouTube mobile-Website-mit Erfolg.
Ich lief in das gleiche problem. Ich war in der Lage, es zu beheben durch ändern SurfaceView zu VideoView in der XML-layout Datei. Halten alle den rest des Codes die gleichen. Das hat für mich, weiß nicht warum.
Dies ist ein altes problem, aber meine Antwort kann jemand helfen.
Zur Unterstützung von alten Android-Versionen müssen Sie die folgende Zeile hinzufügen :
Ob eine bestimmte video-Datei wiedergegeben wird, in einem bestimmten Spielers hängt von drei Dinge:
Ihr player ist die Unterstützung für die Kombination von container-Formate und Codecs
(Ein codec, wenn Sie nicht wissen, ist im Grunde eine reproduzierbare mathematische Formel, die sagt, Ihr system so schalten Sie die bits und bytes, verpackt in eine Datei die in bewegten Bildern(und wieder zurück, für diese Angelegenheit))