UPNP/DLNA-Control-Point

Ich arbeite an einem android-UPnP - /DLNA-app. Ich habe einen control point zu arbeiten, wo kann ich das streamen von Dateien vom media server und renderer. Ich kann pause/play-und stop-Datei während der Wiedergabe, aber ich kann nicht scheinen, um herauszufinden, wie integriert eine seekbar in der control point auf und zeigt den Fortschritt der Wiedergabe-Datei und in der Lage sein, um die Interaktion mit der seekbar. Ich bin mit dem Klammern der Java-Bibliothek zum erstellen der app. Wenn jemand irgendwelche Beispiele, die mir helfen könnte ich würde schätzen es wirklich.

Dank

Habe ich versucht zu implementieren, die SubscriptionCallback Beispiel und abonnieren LastChange

SubscriptionCallback callback = new SubscriptionCallback(service, 600) { //Timeout in seconds

                 public void established(GENASubscription sub) {
                     System.out.println("Established: " + sub.getSubscriptionId());


                 }
                 @Override
                 public void failed(GENASubscription sub, UpnpResponse response, Exception ex) {
                     System.err.println(
                         createDefaultFailureMessage(response, ex)
                     );
                 }
                 @Override
                 public void ended(GENASubscription sub, CancelReason reason, UpnpResponse response) {
                     //Reason should be null, or it didn't end regularly
                 }

                 public void eventReceived(GENASubscription sub) {
                     System.out.println("Event: " + sub.getCurrentSequence().getValue());


                               try {
                                   lastChange = new LastChange(
                                           new AVTransportLastChangeParser(),
                                           sub.getCurrentValues().get("LastChange").toString()
                                   );


                               } catch (Exception ex) {
                                   log.warning("Error parsing LastChange event content: " + ex);
                                   return;
                               }

                     Map<String, StateVariableValue> values = sub.getCurrentValues();
                     StateVariableValue status = values.get("Status");
                     System.out.println("Status is: " + status.toString());
                 }

                 public void eventsMissed(GENASubscription sub, int numberOfMissedEvents) {
                     System.out.println("Missed events: " + numberOfMissedEvents);
                 }
                @Override
                protected void failed(GENASubscription arg0,
                        UpnpResponse arg1, Exception arg2, String arg3) {

                }
            };

            upnpService.getControlPoint().execute(callback);

Dann versuche ich die Dauer der aktuellen Wiedergabe track:

System.out.println("Duration: "+lastChange.getEventedValue(0, AVTransportVariable.CurrentTrackDuration.class).getValue());

aber das gibt eine NullPointerException.

Irgendwelche Ideen???????

************UPDATE***********

Habe ich versucht zu implementieren, Suchen() aber nicht gehabt haben Erfolg.

Habe ich meinem seekbar-und listener-aber es hält zu Versagen, wenn ich ziehen Sie die seekbar-Komponente an eine neue position.

seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
{
        @Override
        public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) 
        {
            Log.i("SEEKTIME", "time:" + arg1);
            upnpService.getControlPoint().execute(new Seek(service, SeekMode.REL_TIME, arg0.toString())
            {
                @Override
                public void success(ActionInvocation invocation)
                {
                    //super.success(invocation);
                    Log.i("SEEKSUCCESS", "success seek");
                }
                @Override
                public void failure(ActionInvocation arg0, UpnpResponse arg1, String arg2)
                {
                    Log.i("SEEKFAIL", "fail seek");
                }
            });
        }

Irgendwelche Vorschläge, warum dies wäre andernfalls

  • Hallo, derzeit bin ich auf der Suche nach einem tutorial über stream m3u8-Datei an DLNA-player von Android, aber noch nicht gefunden haben, irgendein guter Ausgangspunkt noch. Könnten Sie mir bitte irgendeinen Vorschlag? Vielen Dank im Voraus.
Schreibe einen Kommentar