qtmobility/plugins/multimedia/symbian/mmf/radio/s60radiotunercontrol_since32.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
   209 
   209 
   210 void S60RadioTunerControl::setVolume(int volume)
   210 void S60RadioTunerControl::setVolume(int volume)
   211 {
   211 {
   212 	if (m_playerUtility) {
   212 	if (m_playerUtility) {
   213 		m_vol = volume;
   213 		m_vol = volume;
       
   214 		volume *= m_volMultiplier;
   214 		m_playerUtility->SetVolume(volume);
   215 		m_playerUtility->SetVolume(volume);
   215 		emit volumeChanged(m_vol);
   216 		emit volumeChanged(m_vol);
   216 	}
   217 	}
   217 }
   218 }
   218 
   219 
   267 	// FM Radio is a primary client
   268 	// FM Radio is a primary client
   268 	TRAPD(utilityError, 
   269 	TRAPD(utilityError, 
   269 		m_radioUtility = CRadioUtility::NewL(ETrue);
   270 		m_radioUtility = CRadioUtility::NewL(ETrue);
   270 		// Get a tuner utility
   271 		// Get a tuner utility
   271 		m_fmTunerUtility = &m_radioUtility->RadioFmTunerUtilityL(*this);
   272 		m_fmTunerUtility = &m_radioUtility->RadioFmTunerUtilityL(*this);
       
   273 		// we want to listen radio in offline mode too
       
   274 		m_fmTunerUtility->EnableTunerInOfflineMode(ETrue);
   272 		// Get a player utility
   275 		// Get a player utility
   273 		m_playerUtility = &m_radioUtility->RadioPlayerUtilityL(*this);
   276 		m_playerUtility = &m_radioUtility->RadioPlayerUtilityL(*this);
   274 	);
   277 	);
   275 	if (utilityError != KErrNone) {
   278 	if (utilityError != KErrNone) {
   276         m_radioError = QRadioTuner::ResourceError;
   279         m_radioError = QRadioTuner::ResourceError;
   286 bool S60RadioTunerControl::isAvailable() const
   289 bool S60RadioTunerControl::isAvailable() const
   287 {
   290 {
   288 	return m_available;
   291 	return m_available;
   289 }
   292 }
   290 
   293 
   291 QtMediaServices::AvailabilityError S60RadioTunerControl::availabilityError() const
   294 QtMultimedia::AvailabilityError S60RadioTunerControl::availabilityError() const
   292 {
   295 {
   293 	if (m_available)
   296 	if (m_available)
   294 		return QtMediaServices::NoError;
   297 		return QtMultimedia::NoError;
   295 	else
   298 	else
   296 		return QtMediaServices::ResourceError;
   299 		return QtMultimedia::ResourceError;
   297 }
   300 }
   298 
   301 
   299 void S60RadioTunerControl::start()
   302 void S60RadioTunerControl::start()
   300 {	
   303 {
   301 	if (!m_tunerControl) {
   304 	if (!m_tunerControl) {
   302 		m_fmTunerUtility->RequestTunerControl();
   305 		m_fmTunerUtility->RequestTunerControl();
   303 		m_apiTunerState = QRadioTuner::ActiveState;
   306 		m_apiTunerState = QRadioTuner::ActiveState;
   304 		emit stateChanged(m_apiTunerState);
   307 		emit stateChanged(m_apiTunerState);
   305 	} else {
   308 	} else {
   360 
   363 
   361 void S60RadioTunerControl::MrftoRequestTunerControlComplete(TInt aError)
   364 void S60RadioTunerControl::MrftoRequestTunerControlComplete(TInt aError)
   362 {
   365 {
   363 	if (aError == KErrNone) {
   366 	if (aError == KErrNone) {
   364 		m_playerUtility->GetMaxVolume(m_maxVolume);
   367 		m_playerUtility->GetMaxVolume(m_maxVolume);
       
   368 		m_volMultiplier = float(m_maxVolume)/float(100);
   365 		m_radioError = QRadioTuner::NoError;
   369 		m_radioError = QRadioTuner::NoError;
   366 		m_tunerControl = true;
   370 		m_tunerControl = true;
   367 		m_available = true;
   371 		m_available = true;
   368 		m_fmTunerUtility->SetFrequency(m_currentFreq);
   372 		m_fmTunerUtility->SetFrequency(m_currentFreq);
   369 		m_playerUtility->Play();
   373 		m_playerUtility->Play();