Wie kann ich einen Android MediaController aus dem Layout-XML aufrufen?

8

Ich habe eine layout.xml-Datei mit dem folgenden XML-Code erstellt, aber ich kann den MediaController überhaupt nicht erscheinen lassen.

%Vor%

Im Code kann ich einen Verweis darauf vom Code erhalten, rufen Sie show (), etc., aber es erscheint nie.

Ich habe in der Android-Dev-Dokumentation ( MediaController.html ) festgestellt, dass es besagt, "Der Weg, diese Klasse zu benutzen, besteht darin, sie programmatisch zu instanziieren.", Also bin ich vielleicht ein Dummkopf und muss einfach etwas anderes tun, als das zu tun, was ich tue. :)

Ich kann es erscheinen lassen, wenn ich es programmatisch mache, aber ich brauche es immer auf dem Bildschirm zu erscheinen. Bin ich nur dumm oder soll es einfach nicht über XML aufgeblasen werden?

    
DustinB 18.11.2009, 23:28
quelle

7 Antworten

16

Von diesem Beispielprojekt :

%Vor%

Dann wird es angezeigt, wenn Sie auf den Bildschirm in Richtung der unteren Kante Ihres VideoView tippen.

Um es auf dem Bildschirm zu halten ... Ich weiß nicht, ob das möglich ist. Sie können immer Ihren eigenen Controller erstellen - hier ist ein Beispielprojekt , das einen eigenen transparenten Controller erstellt. Es ist wirklich nicht so schwer, und du hast die volle Kontrolle über alles, einschließlich dafür, es immer auf dem Bildschirm zu haben.

    
CommonsWare 19.11.2009, 00:44
quelle
9

Sie können verhindern, dass der MediaController den erweiterten MediaController ausblendet und hide () außer Kraft setzt. zB:

%Vor%     
Rob Gorman 28.08.2011 14:49
quelle
2

Sie können einen Mediacontroller aus dem Layout-XML aufblasen. Auch nach Erhalt einer Referenz davon kann ein Videobild als Anker gesetzt werden.

  • Aber dies wird zu einem Absturz führen, sobald Sie versuchen zu berühren mediacontroller (Ich versuche herauszufinden, warum es passiert).

Auch in diesem MediaController wird immer angezeigt.

%Vor%

In Aktivität,

%Vor%     
rockyy_rv 22.01.2013 13:43
quelle
1

Mit show (0) wird Media Controller angezeigt, bis hide () durch eine Interaktion mit dem Player aufgerufen wird. Ich habe leider keine Möglichkeit gefunden, hide () noch zu verhindern; - (

%Vor%

Warten Sie, bis der Bildschirm angezeigt wird, um einen Fehler in android zu vermeiden (1,5 Sekunden hier)

    
duessi 11.01.2010 18:21
quelle
0

Ссылка

Dieses Dokument schlägt vor, dass Sie den Controller möglicherweise erweitern müssen, um das von Ihnen benötigte Verhalten zu erhalten.

Sie könnten es auch sehr lange zeigen, nehme ich an;)

Ich bemühe mich zur Zeit, den Controller zu zeigen, dann drücke ich einen Knopf: \

(auch interessant, wie schnell Google diese Frage den Suchergebnissen hinzugefügt hat)

    
dpn 19.11.2009 00:14
quelle
0

Wenn ich meinen MediaController in einer Layout-Datei deklariere, mit Code (mit der Activity.findViewById(int id) -Methode) handhabe und ihn mit der Methode VideoView.setMediaController(MediaController controller) an meine VideoView anschließe, verhält es sich unerwünscht (force schließt sich) die App) zu Zeiten. Stattdessen erstelle ich es im Code, hängt es an die Videoansicht an und gebe dann an, wo es in der Activity mit der Methode VideoView.setAnchorView(View view) angezeigt werden soll:

%Vor%     
Adil Hussain 25.04.2012 11:57
quelle
0

Ich denke, es ist dein Abschnitt "mVideoView.setVideoURI". Ich habe kürzlich an einer ähnlichen Sache gearbeitet, einschließlich dieses und es scheint, dass das Video über den Server abgerufen werden muss. Du musst deine Videos auf einem Server speichern und dann hier anrufen. Genau das ist mit mir passiert.

    
Andre 10.12.2013 19:19
quelle

Tags und Links