С радостью бы помог, и скорее всего если не сможете сделать то помогу, но только ближе к ноябрю(((
Только закончил с поисками и реализацией отловки AudioFocus, наконец то)))))))))
У самого музыка пока не в сервисе, но я думаю как то так, без
AndroidServiceUnBind
function TCronysDM.AndroidServiceStartCommand(const Sender: TObject;
const Intent: JIntent; Flags, StartId: Integer): Integer;
Var
Action: string;
begin
Action := JStringToString(Intent.getAction);
if Action = 'StartService' then
begin
BASS_Init(-1, 44100, 0, nil, nil); //инициализация bass
BASS_StreamFree(str);
str := BASS_StreamCreateURL(PChar('http://91.199.194.34:8000'), 0, BASS_UNICODE, nil, nil);
//ShowMessage(IntToStr(BASS_ErrorGetCode));
If BASS_ErrorGetCode = 0 Then
Begin
BASS_ChannelPlay(str, True); //начать воспроизведение
End;
end;
if Action = 'StopService' then
begin
BASS_ChannelStop(str); //остановить воспроизведение
BASS_StreamFree(str);
JavaService.stopSelf;
result := TJService.JavaClass.START_NOT_STICKY; // don't reload service
exit;
end;
result := TJService.JavaClass.START_STICKY; // rerun service if host app stops
end;
запуск сервиса
FService := TJIntent.Create;
FService.setClassName(TAndroidHelper.Context.getPackageName(),
TAndroidHelper.StringToJString('com.embarcadero.services.cronysrv'));
FService.setAction(StringToJString('StartService'));
TAndroidHelper.Activity.startService(FService);
По вышему коду при убийстве приложения, убивается и сервис???? Это вопрос