Dirty Audio!!How can I get cleaner sounds?

Login to reply to this topic.
Fri, 2004-01-23 23:45
Joined: 2003-09-15
Forum posts: 175
On my 3650 its no so bad but playing the same audio
files on my 7650 with MAudioAdapter::PlayL() doesn't sound
as clean as I would expect.

E.g. low, but noticable  'clicks' after playing my WAV file
(sounds like clipping!).  Even stoping the wav file prematurely
and replaying produces little clicks

I even notice it in some of the game bundles, e.g. Bounce.

Is there anything th suggest that I'd get cleaner sound with
AMR (or anything else for that matter)?

FYI, I use Goldwave to save my WAV files.


cheers

paris.

~~~~


Sat, 2004-01-24 00:23
Joined: 2003-09-15
Forum posts: 175
Dirty Audio!!How can I get cleaner sounds?
Ok, sound on my 7650 is now conguent with sound on my 3650.

The system sounds on my 7650 were set to 'on' so there was some
sound output-fighting going on.  My app and the system were trying to play sounds at the same time when a button is pressed.

Anyone know how to enable/disable system sounds programatically?


Cheers,
paris.

~~~~

Mon, 2004-01-26 11:23
Anonymous (not verified)
Forum posts: 2043
Set profile
If you want to disable the key click sounds try to disable them by using the profile.
Do something like this:

// set keypad volume to zero
RSharedDataClient prof;
User::LeaveIfError(prof.Connect());
User::LeaveIfError(prof.Assign(KSDUidProfileEngine));
User::LeaveIfError(prof.SetInt(KProEngKeypadVolume, 0));
User::LeaveIfError(prof.Flush());
prof.Close();

At the end of your Program don't forget to reset to the origin sound volume.
Mon, 2004-01-26 12:04
Joined: 2003-09-15
Forum posts: 175
Dirty Audio!!How can I get cleaner sounds?
Thanks,
Although your suggestion may come in handy for other things
I already found another way:

[AppUi.h]
#include <aknsoundsystem.h>
CAknKeySoundSystem* m_pSystemSounds

[AppUi.cpp]
#include <avkon.rsg>
m_pSystemSounds = KeySounds()
m_pSystemSounds->PushContextL( R_AVKON_SILENT_SKEY_LIST )

NB, you may wish to call m_pSystemSounds->PopContext()
in your destructor - but it doesn't seem necessary in my tests.

Not sure if this approach is any better or worse but it works fine.

cheers

paris.

~~~~

Mon, 2004-01-26 13:47
Anonymous (not verified)
Forum posts: 2043
Not working on N-Gage
Hi,

the CAknKeySoundSystem solution is not working on the N-Gage device. Key sound is still on until I open an audiooutputstream myself.
Mon, 2004-01-26 13:58
Joined: 2003-09-15
Forum posts: 175
Dirty Audio!!How can I get cleaner sounds?
WHAAAAT??

Why isn't anything in this universe EVER consistent???
..sigh.
*bash* Angry *bash* Angry *bash* Angry <- beating head on desk repeatedly!

~~~~

Mon, 2004-01-26 14:01
Joined: 2003-09-15
Forum posts: 175
Dirty Audio!!How can I get cleaner sounds?
Embarassed <-stopping for a moment to tend to bleeding forehead..

I forgot to ask, does the RSharedDataClient alternative method
work ok??
(please say yes Cry )

~~~~

Mon, 2004-01-26 15:45
Joined: 2004-01-26
Forum posts: 6
Yes
Yes it works fine. But it uses unpublished functions, afaik.
Tue, 2004-02-03 20:38
Joined: 2004-02-03
Forum posts: 1
Re: Set profile
Quote from: Anonymous
// set keypad volume to zero
RSharedDataClient prof;
User::LeaveIfError(prof.Connect());
User::LeaveIfError(prof.Assign(KSDUidProfileEngine));
User::LeaveIfError(prof.SetInt(KProEngKeypadVolume, 0));
User::LeaveIfError(prof.Flush());
prof.Close();

What file should be included to use RSharedDataClient??
I can't find it  Sad

Thanks a lot!!
Tue, 2004-02-03 20:57
william (not verified)
Forum posts: 2043
Dirty Audio!!How can I get cleaner sounds?
There is not defininton of RSharedDataClient in headers. But there is export symbols of RSharedDataClient class in commonengine.lib. Only you need is to aks some people about headers. Or reconstruct it from lib.
Mon, 2004-02-09 20:24
Joined: 2004-02-08
Forum posts: 2
Dirty Audio!!How can I get cleaner sounds?
Here's my reconstruction:

class RSharedDataClient {
public:
RSharedDataClient(class MSharedDataNotifyHandler *);
RSharedDataClient(void);
int Assign(class TUid) const;
int AssignToTemporaryFile(class TUid) const;
void CancelAllNotifies(void);
void CancelNotify(class TUid,class TDesC16 const *);
void Close(void);
int Connect(int);
int Flush(void) const;
int GetInt(class TDesC16 const &,int &) const;
int GetReal(class TDesC16 const &,double &) const;
int GetString(class TDesC16 const &,class TDes16 &) const;
int NotifyChange(class TUid,class TDesC16 const *);
int NotifySet(class TUid,class TDesC16 const *);
int RestoreOriginal(class TUid,class MDesC16Array const *);
int SetInt(class TDesC16 const &,int);
int SetReal(class TDesC16 const &,double);
int SetString(class TDesC16 const &,class TDesC16 const &);
void CancelFreeDiskSpaceRequest(void) const;
void RequestFreeDiskSpace(int) const;
void RequestFreeDiskSpaceLC(int) const;
int AddToValue(class TDesC16 const &,int);
void CancelAllSignals(void);
void CancelSignal(class TDesC16 const &);
int Signal(class TDesC16 const &);
private: // наверняка штуки 4 поля у класса есть...
void *v1,*v2,*v3,*v4;
};
Wed, 2005-01-05 19:33
Anonymous (not verified)
Forum posts: 2043
Dirty Audio!!How can I get cleaner sounds?
Where are KSDUidProfileEngine and KProEngKeypadVolume defined?  (or what should they be set to?)
Wed, 2005-12-28 19:51
Joined: 2005-12-16
Forum posts: 47
Re: Dirty Audio!!How can I get cleaner sounds?
with regards to:
Yes it works fine. But it uses unpublished functions, afaik.

Does anyone know if that by using the "unpublished functions" it will hinder getting Symbian Signed.

I.e. if unpublished function headers are used, will Symbian not sign an application?

Jay Glass
Phoenix, AZ. USA
http://IChiBanComputers.Com

Thu, 2005-12-29 09:58
Joined: 2004-08-13
Forum posts: 20
Re: Dirty Audio!!How can I get cleaner sounds?
Download the Symbian Signed test criteria .pdf from https://www.symbiansigned.com/app/page/requirements

Basically, if your application passes every appropriate test successfully you should get signed ok.  Failure of the whole test procedure is not based on the use of ‘unpubulished functions’ - but on whether your application does anything it isn't supposed to.  Unfortunately, using unpublished functions increases the likelihood of failure as such functions have not been officially verified/released, even if they appear to work ok.

As such, if you can 'guarantee' that your use of unpublished/undocumented functionality will work on  all appropriate devices (e.g. Series 60) then you should be ok. However, if you are not sure, and they happen to test on a device that breaks your app then you will have wasted $200, and will have to fix & resubmit for an additional $fee.
Hope this helps.


www.mobystar.com Mobile software for S60

Thu, 2005-12-29 17:38
Joined: 2005-12-16
Forum posts: 47
Re: Dirty Audio!!How can I get cleaner sounds?
Excellent answer!  Thanks ashmobyman for the clarification!

Jay Glass
Phoenix, AZ. USA
http://IChiBanComputers.Com

  • Login to reply to this topic.