Dirty Audio!!How can I get cleaner sounds?
| Fri, 2004-01-23 23:45 | |
|
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. ~~~~ |
|






Forum posts: 175
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.
~~~~
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.
Forum posts: 175
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.
~~~~
the CAknKeySoundSystem solution is not working on the N-Gage device. Key sound is still on until I open an audiooutputstream myself.
Forum posts: 175
Why isn't anything in this universe EVER consistent???
..sigh.
*bash*
~~~~
Forum posts: 175
I forgot to ask, does the RSharedDataClient alternative method
work ok??
(please say yes
~~~~
Forum posts: 6
Forum posts: 1
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
Thanks a lot!!
Forum posts: 2
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;
};
Forum posts: 47
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
Forum posts: 20
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
Forum posts: 47
Jay Glass
Phoenix, AZ. USA
http://IChiBanComputers.Com