You Are Here:

Community: Wiki

This page was last modified on 8 June 2009, at 09:01.

How to get external volume buttons events

From Forum Nokia Wiki


External volume buttons

From S60 3rd Edition FP 2 onwards, external volume buttons can be used to change the volume level of MMAPI players in mobile devices that have the volume buttons present.

The buttons work in this way when a MIDlet that uses MMAPI is on foreground. They change the volume level for MMAPI Players globally, that is, the volume level of every Player in every MIDlet is altered.

A Nokia proprietary event is used to notify the MIDlet when volume is changed with External volume keys. The notification is made via PlayerListener.playerUpdate(Evendata) callback with the event com.nokia.external.volume.Event.

Code Sample

The event can be decoded to know the current global volume level as shown below:

// Effective volume considering both midlet volume and global volume
int actualVolume = 0;
int globalVolume = 0;
 
public void playerUpdate(Player p, String event, Object eventData) {
// get the current midlet volume level
int midletVolume = vc.getLevel();
 
if(event.equals("com.nokia.external.volume.Event")) {
// get the current global volume level
globalVolume = Integer.parseInt(eventData.toString());
}
 
// This event is generated when midlet volume level is changed
if(event.equals("volumeChanged")) {
midletVolume = vc.getLevel();
}
 
actualVolume = (globalVolume/100) * midletVolume;
}

Reference

http://library.forum.nokia.com/index.jsp?topic=/Design_and_User_Experience_Library/GUID-CB5D4F7A-CA69-49E6-839D-2F7E30641498.html

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia