Hi Dianne and thank you for your reply,

     Sorry, I can't get your point, do you mean that we can't use C++
at all with the NDK? So why we can see cpp classes in the android
sources? is it only to build libs and after that libs should be used
from Java?

Regards,

On Oct 25, 8:38 pm, Dianne Hackborn <[email protected]> wrote:
> This is not part of the NDK.  *NO* C++ classes are part of the NDK.
>
> Even if you manage to get this to work, you are using private implementation
> details of the platform, and I can guarantee you that your app will break
> all over the place on different devices.
>
>
>
>
>
>
>
>
>
> On Tue, Oct 25, 2011 at 1:36 AM, HamdiHamZ <[email protected]> wrote:
> > Hi folks,
>
> > I ma trying to write a media player for Android 2.2. I am using
> > NDK_rb6 to build my JNI library written i C/C++ (under Ubuntu
> > 11.04)... Actually, I faced a lot of problems of linking and
> > dependencies, I resolved a lot of the and I am stuck with this one:
>
> > ~/dev/workspace/MyApp/jni/android-out.cpp:95: undefined reference to
> > `android::AudioTrack::set(int, unsigned int, int, int, int, unsigned
> > int, void (*)(int, void*, void*), void*, int,
> > android::sp<android::IMemory> const&, bool, int)'
> > collect2: ld returned 1 exit status
>
> > However, I found its definition in $(ANDROID_SRC)/frameworks/base/
> > media/libmedia/AudioTrack.cpp:
>
> > status_t AudioTrack::set(
> >        int streamType,
> >        uint32_t sampleRate,
> >        int format,
> >        int channels,
> >        int frameCount,
> >        uint32_t flags,
> >        callback_t cbf,
> >        void* user,
> >        int notificationFrames,
> >        const sp<IMemory>& sharedBuffer,
> >        bool threadCanCallJava,
> >        int sessionId)
> > {
> > ...
> > }
>
> > and in the header that I included (media/audioTrack.h):
>
> >   /* Initialize an uninitialized AudioTrack.
> >     * Returned status (from utils/Errors.h) can be:
> >     *  - NO_ERROR: successful intialization
> >     *  - INVALID_OPERATION: AudioTrack is already intitialized
> >     *  - BAD_VALUE: invalid parameter (channels, format,
> > sampleRate...)
> >     *  - NO_INIT: audio server or audio hardware not initialized
> >     * */
> >            status_t    set(int streamType      =-1,
> >                            uint32_t sampleRate = 0,
> >                            int format          = 0,
> >                            int channels        = 0,
> >                            int frameCount      = 0,
> >                            uint32_t flags      = 0,
> >                            callback_t cbf      = 0,
> >                            void* user          = 0,
> >                            int notificationFrames = 0,
> >                            const sp<IMemory>& sharedBuffer = 0,
> >                            bool threadCanCallJava = false,
> >                            int sessionId = 0);
>
> > and I am using it this way:
>
> > status = track->set(AudioSystem::MUSIC,
> >                        audec->samplerate,
> >                        AudioSystem::PCM_16_BIT,
> >                        (audec->channels == 1) ?
> > AudioSystem::CHANNEL_OUT_MONO : AudioSystem::CHANNEL_OUT_STEREO,
> >                        0,       // frameCount
> >                        0,       // flags
> >                        audioCallback,
> >                        audec,    // user when callback
> >                        0,       // notificationFrames
> >                        0,       // shared buffer
> >                        0);
>
> > So I am not able to see where am I wrong?
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group at
> >http://groups.google.com/group/android-developers?hl=en
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to