Ejemplo n.º 1
0
void PlayerController::ValChanged(TUid aUid, TUint32 aKey, TInt aValue)
{
if (aKey==KFMRadioPSDataRadioPowerState)
{
    if (aValue==EFMRadioPSRadioPowerOn&&(!radioLaunched))
    {
        radioLaunched=true;
        Close(KMusicPlayerAppUid);
        qDebug()<<"radio launched";
        emit playerStarted(false);
     }
     else if (aValue==EFMRadioPSRadioPowerOff&&radioLaunched)
     {
        radioLaunched=false;
        qDebug()<<"radio closed";
        emit playerClosed();
     }
}
else if (aKey==KFMRadioPSDataFrequency)
{
    float freq=aValue/1e6;
    iStation.freq=freq;
    qDebug()<<aValue<<radioLaunched;
    if (freq>50&&freq<200)
    {
        radioLaunched=true;
        Close(KMusicPlayerAppUid);
        qDebug()<<"radio launched";
        emit playerStarted(false);
    }
    if ((freq>200||freq<50)&&radioLaunched)
    {
        radioLaunched=false;
        qDebug()<<"radio closed";
        emit playerClosed();
    }
    QString line;
    if (iStation.name.length()>0) line=QString::fromUtf8(iStation.name.toUtf8().data());
    else if (iStation.rds.length()>0) line=QString::fromUtf8(iStation.rds.toUtf8().data());
    else line=QString::fromUtf8("FM Radio");
    if (radioLaunched)changeTrackInfo(line,QString::number(iStation.freq,'f',2)+" MHz");
}
}
Ejemplo n.º 2
0
void PlayerController::Tick()
{
    RWsSession* iSession=new RWsSession();
    iSession->Connect();
       TApaTaskList lst(*iSession);
       TApaTask tsk=lst.FindApp(KMusicPlayerAppUid);
       TApaTask tsk2=lst.FindApp(KRadioUid);
       if (tsk.Exists())
       {
           if (!playerLaunched)
           {
               emit playerStarted(true);
               playerLaunched=true;
               qDebug()<<"Player launched";
               Close(KRadioUid);
               iPlayer->RequestMediaL();
           }
       }
       else
       {
           if (playerLaunched)
           {
               if (!radioLaunched) emit playerClosed();
               playerLaunched=false;
               qDebug()<<"Player closed";
               checkTimer->stop();
           }
       }

       if (!tsk2.Exists())
       {
           if (radioLaunched)
           {
               if (!playerLaunched) emit playerClosed();
               radioLaunched=false;
               qDebug()<<"radio closed";
               checkTimer->stop();
           }
       }
       iSession->Close();
}
Ejemplo n.º 3
0
void PlayerController::PlayerStateChanged(TMPXPlaybackState aState)
{
    qDebug()<<"player state changed"<<aState;
    if (aState==EPbStateStopped){emit stopped();}
    else if (aState==EPbStatePlaying){emit playing();iSwitchTrack=true;}
    else if (aState==EPbStatePaused){emit paused();iSwitchTrack=true;}
    else if (aState==EPbStateNotInitialised&&(!iSwitchTrack))
    {
        if (!radioLaunched) emit playerClosed();
        playerLaunched=false;
        qDebug()<<"Player closed";
        checkTimer->stop();
    }
    if (!checkTimer->isActive()) checkTimer->start();
}
Ejemplo n.º 4
0
void PlayerController::Close(TUid aUid)
{
    RWsSession* iSession=new RWsSession();
    iSession->Connect();
    if (aUid==KRadioUid)
    {
    radioLaunched=false;
    qDebug()<<"radio closed";
    if (!playerLaunched){emit playerClosed();}
    }
    TApaTaskList lst(*iSession);
    TApaTask tsk=lst.FindApp(aUid);
    if(tsk.Exists()){tsk.EndTask();}
    iSession->Close();
}
int PlayerController::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: playing(); break;
        case 1: stopped(); break;
        case 2: paused(); break;
        case 3: playerStarted((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 4: playerClosed(); break;
        case 5: changeTrackInfo((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 6: changePos((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 7: passAlbumArt((*reinterpret_cast< CFbsBitmap*(*)>(_a[1]))); break;
        case 8: updateAlbumArt((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 9: CheckPlayerState(); break;
        case 10: Tick(); break;
        case 11: Play(); break;
        case 12: Pause(); break;
        case 13: Next(); break;
        case 14: Previous(); break;
        case 15: SeekForward(); break;
        case 16: SeekBack(); break;
        case 17: StopSeeking(); break;
        case 18: AlbumArtSaved((*reinterpret_cast< CFbsBitmap*(*)>(_a[1]))); break;
        case 19: GoToNowPlaying(); break;
        case 20: ClosePlayer(); break;
        case 21: SeekToPos((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 22: GetState(); break;
        default: ;
        }
        _id -= 23;
    }
    return _id;
}