Raspbian/debian "libbass.so" handle fehler

Für Installationen unter Linux-Systemen
Antworten
M.age.P
Beiträge: 1
Registriert: Fr 24. Jun 2016, 20:03

Raspbian/debian "libbass.so" handle fehler

Beitrag von M.age.P »

Hallo Leute,

bin neu hier, hallo erstmal.

Ich habe gerade auf meinem Raspberry pi 3 ein Mediaplayer projekt am Laufen. Ich habe den Player auf Windows natürlich mit Lazarus programmiert wo er einwandfrei Funkt. Ich benutze in Windows die bass.dll und in linux den Pedant libbass.so. Ich habe die Datei libbass.so (für ARM-Cpu's) ins Verzeichnis "/usr/lib/" kopiert und mit dem Befehl "sudo chmod a+rx /usr/lib/libbass.so" (für die rechte) und dem Befehl "sudo ldconfig -n -v /usr/lib" das ganze (hoffentlich!) richtig installiert.

Da aber mein Player auf Linux durch einen Fehler nicht Starten will habe ich nun folgendes kleines Testprogramm zur Fehlersuche fix gebastelt:

Code: Alles auswählen

 
uses ..., bass;
 
var MainStream : DWORD;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
if not BASS_Init(1, 44100, 0, Handle ,nil) then showmessage('Fehler');
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
MainStream := BASS_StreamCreateFile(FALSE, pchar('mukke.mp3'), 0, 0, 0);
BASS_ChannelPlay(MainStream, False);
end;
 


Nun habe ich aber das Problem das Lazarus das Programm erst gar nicht startet sondern hier mir einen Fehler bei "Handle" bringt und zwar:
'Error.Incompatible type for arg no.4:got "HWND", expected "Pointer" '.

Auf Windows läuft das selbe Programm/selbe bass.pas einwandfrei nur auf Linux nicht (Lazarus 1.2.4 / Raspbian und Windows).

Wenn sich jemand mit debian artigen Systemen / lazarus und der bass.dll auskennen würde wäre ich höchst dankbar.

MfG Gerhard

Requion
Beiträge: 106
Registriert: Mi 3. Feb 2016, 09:39
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
CPU-Target: 32/64Bit,ARM(RPi)
Wohnort: nahe Grimma

Re: Raspbian/debian "libbass.so" handle fehler

Beitrag von Requion »

Hallo,

hab grad das hier gefunden:
The win parameter is only used on Windows and are ignored on other platforms. That applies to the BASS_DEVICE_CPSPEAKERS and BASS_DEVICE_SPEAKERS flags too, as the number of available speakers is always accurately detected on the other platforms. The BASS_DEVICE_LATENCY flag is also ignored on Linux/OSX/Android/Windows CE, as latency information is available without it. The latency is also available without it on iOS, but not immediately following this function call unless the flag is used.

Quelle: http://bass.radio42.com/help/html/4a21664e-e888-da62-7d37-e6851b2a8915.htm

Also mach da mal ein nil fürs Linux und probiers nochmal. Zur not müsstest du das dann Plattformspezifisch bauen.

PS: HWND ist meines Wissens nach auch nur auf Windows vorhanden.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

Antworten