AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke upnp Fehler 80040365 bei SEEK auf Marantz NA6005
Thema durchsuchen
Ansicht
Themen-Optionen

upnp Fehler 80040365 bei SEEK auf Marantz NA6005

Offene Frage von "ratmalwer"
Ein Thema von ratmalwer · begonnen am 2. Mai 2023 · letzter Beitrag vom 2. Mai 2023
Antwort Antwort
ratmalwer

Registriert seit: 30. Nov 2020
15 Beiträge
 
#1

upnp Fehler 80040365 bei SEEK auf Marantz NA6005

  Alt 2. Mai 2023, 01:37
Ich schreibe einen Mediaplayer in Delphi, der meine MP3s von einem NAS-Server auf meinen Mediarendererer spielt.
Das funktioniert ziemlich gut, aber ich habe ein Problem, dass der Seek-Befehl auf jedem System funktioniert, aber nicht auf meinem Marantz NA6005!

Ich habe getestet:

Medion-NAS via MyApplication auf verschiedene Renderer (Mobile:bubbleupnpPlayer, PC:mediamonkeyPlayer, Sony Bravia TV und Marantz NA6005)
da kann ich:
-Spielen
-Stoppen
-Pause
-Unpause
-Suchen (außer auf Marantz dort bekomme ich den Fehler: OLE-Fehler 80040365)

Dasselbe auf QNAP mit Twonky über MyApplication zu verschiedenen Renderern (Mobile:bubbleupnpPlayer, PC:mediamonkeyPlayer, Sony Bravia TV und Marantz NA6005)
da kann ich:
-Spielen
-Stoppen
-Pause
-Unpause
-Suchen (außer auf Marantz da bekomme ich den Fehler OLE-Fehler: 80040365)

Hier einige Codeschnipsel (der erste funktioniert auf allen Geräten, der zweite erzeugt den Fehler auf Marantz):

Code:
procedure TAVTransportService.Play;
VAR ovIn,ovOut : OleVariant;
begin
   ovIn := VarArrayCreate([0, 1], varVariant);
   ovIn[0]:= 0;
   ovIn[1]:= '1';
   ovOut := null ;
   try
     AVTransportService.InvokeAction('Play',ovIn,ovOut);
     Log.Add('Play: OK');
     FStateOK:=true;
   except
     Log.Add('Error in Play');
     FStateOK:=false;
   end;
end;
Code:
function TAVTransportService.SetPosition(position:string):boolean;
VAR ovIn,ovOut : OleVariant;
begin
  result:=false;
  if isPaused then Play;
  if not IsPlaying then exit;
  ovIn:=VarArrayCreate([0, 2], varVariant);
  ovin[0]:=0;
  ovin[1]:='REL_TIME';
  ovin[2]:=position; //eg: '00:01:30'
  ovOut:=null;
  try
    AVTransportService.InvokeAction('Seek',ovIn,ovOut);   //here the error occurs
    result:=true;
    TUpnpDMC.Log.Add('Seek ok');
  except
    on e: Exception do TUpnpDMC.Log.Add('Seek failed:' + E.message);
  end;
end;
Inzwischen habe ich alle möglichen und unmöglichen Kombinationen ausprobiert, um diesen Fehler zu umgehen. Ich habe den Playstate mit is ok (Playing) und so weiter überwacht.

Nach einer Woche Lesen im Netz bin ich mit den Nerven am Ende.
Hatte jemand das gleiche Problem und eine mögliche Lösung oder einen Workaround zB. ein alternativer Befehl?
Hilfe dringend gesucht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: upnp Fehler 80040365 bei SEEK auf Marantz NA6005

  Alt 2. Mai 2023, 02:17
Moin,

erstmal könnte jemand vielleicht verraten, was ein AVTransportService sein soll?
https://www.google.com/search?q=%22T...portService%22

Gut, direkt eine Antwort sagt es mir noch nicht, aber liegt vielleicht auch daran, dass wir gar nichts über das wissen, was den Fehler meldet.
Dennoch ist es natürlich oft schon irgendwie sinnvoll den Fehler zu übersetzen,
denn wenn man weiß was es uns sagen will, dann ergibt sich vielleicht von selbst die Lösung.
https://blog.csdn.net/jiushidt/article/details/51909401

0x80040365
Table is not empty.
TABLE_NOT_EMPTY

https://www.google.com/search?q=%22TABLE_NOT_EMPTY%22



PS: Auch wenn es nichts zur Lösung beitragen wird, dennoch ein kleiner Tipp:
Zitat:
Delphi-Quellcode:
ovIn:=VarArrayCreate([0, 2], varVariant);
ovin[0]:=0;
ovin[1]:='REL_TIME';
ovin[2]:=position; //eg: '00:01:30'
ovIn := VarArrayOf([0, 'REL_TIME', position]);
$2B or not $2B

Geändert von himitsu ( 2. Mai 2023 um 02:22 Uhr)
  Mit Zitat antworten Zitat
ratmalwer

Registriert seit: 30. Nov 2020
15 Beiträge
 
#3

AW: upnp Fehler 80040365 bei SEEK auf Marantz NA6005

  Alt 2. Mai 2023, 04:57
Moin Himitsu,

was ein AVTransportService sein soll? - hmm habe den Code von https://github.com/RuudErmers/DelphiDLNADMC
welchen ich jetzt testweise etwas umgebaut habe. - > auf Wunsch gebe ich gerne den etwas abgeänderten (teilweise
fehlerereinigten Code) weiter. -->ich leg ihn mal bei in der Anlage...

-- leider das einzige Beispiel wie upnp implementert weden kann, das ich gefunden habe und sogar einigermassen läüft.
Ich bin natürlich offen für andere Lösungen sofern ich sie verstehe. Bin nur ein oldfashioned Programmierer der sich schwer tut mit ojektorientierter Programmierung.

Den Fehler habe ich anders interpretiert, nähmlich dass ein Wert Empty ist. trotzdem sehe ich keine Chance irgendwas zu
leeren???! mittels des mir bekannten Codes.

Was mich am meissten irritiert ist, dass auf 3 vom 4 Systemen das Ganze funktionert.

Guten Start in den neuen Tag...
Lieber Gruss Markus
Angehängte Dateien
Dateityp: zip MyPlayer1.zip (1,14 MB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz