ZFFramework
 
Loading...
Searching...
No Matches
ZFAudio Class Reference

audio player More...

#include <ZFAudio.h>

Inheritance diagram for ZFAudio:
ZFObject ZFTaskId ZFInterface

Public Types

enum  
 
- Public Types inherited from ZFObject
enum  
 

Public Member Functions

virtual const ZFClassclassData (void)
 get instance's class info
 
virtual void * nativeAudio ()
 the native audio
 
virtual zfbool startable ()
 whether able to start
 
virtual zfbool loading ()
 whether loading
 
virtual zfbool loaded ()
 whether loaded
 
virtual zfbool started ()
 whether started
 
virtual zfbool playing ()
 whether start success and playing, false when loading or still preparing to play or paused
 
virtual zfbool paused ()
 whether explicitly paused by user
 
virtual void load (const ZFInput &input)
 load from input
 
virtual void load (const zfstring &url)
 load from url
 
virtual void start ()
 start to play
 
virtual void stop ()
 stop play
 
virtual void resume ()
 resume play
 
virtual void pause ()
 pause play
 
virtual zfindex loopCur ()
 current loop count
 
virtual zftimet duration ()
 duration, valid only when loaded, may be 0 if impl not supported
 
virtual zftimet position ()
 current position, valid only when started
 
virtual void position (zftimet position)
 change current position
 
virtual zffloatvolume ()
 current volume
 
virtual void volume (zffloat const &propertyValue)
 see volume
 
virtual zfindexloop ()
 loop count of audio, 0 means play once, and zfindexMax means loop infinite until stop called
 
virtual void loop (zfindex const &propertyValue)
 see loop
 
virtual const zfcharstateHint ()
 return a state hint for debug
 
- Public Member Functions inherited from ZFObject
zfindex objectRetainCount (void)
 return the object's retain count
 
void objectInfoOfInstanceT (zfstring &ret)
 see objectInfoOfInstance
 
zfstring objectInfoOfInstance (void)
 return a short string describe the object instance
 
void objectInfoT (zfstring &ret)
 see objectInfo
 
zfstring objectInfo (void)
 return object info
 
zfidentity objectHash (void)
 get hash of this object
 
ZFCompareResult objectCompare (ZFObject *anotherObj)
 compare with anotherObj
 
ZFCompareResult objectCompareValue (ZFObject *anotherObj)
 explicitly compare object by logical value, see objectCompare
 
virtual zfauto invoke (const zfstring &methodName)
 util method to perform ZFDI_invoke, do nothing if fail
 
virtual zfauto invoke (const zfstring &methodName, ZFObject *param0, ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF))
 util method to perform ZFDI_invoke, do nothing if fail
 
virtual zfbool invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF))
 util method to perform ZFDI_invoke, do nothing if fail
 
virtual zfauto invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > &params, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull)
 util method to perform ZFDI_invoke, do nothing if fail
 
zfbool objectTagExist (void)
 see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue
 
void objectTag (const zfstring &key, ZFObject *tag)
 used to hold a object for app's use, auto retained
 
zfany objectTag (const zfstring &key)
 see objectTag
 
void objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue)
 get all key value
 
void objectTagRemove (const zfstring &key)
 remove tag, same as set tag to null
 
zfauto objectTagRemoveAndGet (const zfstring &key)
 remove tag, return removed tag or null if not exist
 
void objectTagRemoveAll (void)
 remove all tag
 
void observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 see observerNotify
 
void observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 see observerNotify
 
void observerRemove (zfidentity eventId, const ZFListener &callback)
 see observerNotify
 
void observerRemoveAll (zfidentity eventId)
 see observerNotify
 
void observerRemoveAll (void)
 see observerNotify
 
zfbool observerHasAdd (void)
 true if any observer has been added
 
zfbool observerHasAdd (zfidentity eventId)
 true if any observer with eventId has been added
 
void observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 notify the observer with eventId
 
void observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
 
void observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
 
void observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
 
ZFObserverobserverHolder (void)
 access the internal observer holder
 
void on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 util to observerAdd
 
void on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 util to observerAdd
 
void onInit (const ZFListener &impl)
 util for script to achieve chained call
 
void onDealloc (const ZFListener &impl)
 util for script to achieve chained call
 
zfbool objectInstanceStateCheck (ZFObjectInstanceState state)
 object instance's state
 
zfbool objectInitRunning (void)
 util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running
 
zfbool objectDeallocRunning (void)
 util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running
 
virtual zfbool objectIsInternal (void)
 whether this object is internal object or its class is ZFClass::classIsInternal
 
virtual zfbool objectIsInternalPrivate (void)
 whether this object is internal private object or its class is ZFClass::classIsInternalPrivate
 
- Public Member Functions inherited from ZFInterface
virtual ZFObjecttoObject (void)=0
 convert to ZFObject type
 

Static Public Member Functions

static const ZFClassClassData (void)
 get class info
 
static zfidentity E_AudioOnLoad (void)
 see ZFObject::observerNotify
 
static zfidentity E_AudioOnStart (void)
 see ZFObject::observerNotify
 
static zfidentity E_AudioOnStop (void)
 see ZFObject::observerNotify
 
static zfidentity E_AudioOnResume (void)
 see ZFObject::observerNotify
 
static zfidentity E_AudioOnPause (void)
 see ZFObject::observerNotify
 
static zfidentity E_AudioOnLoop (void)
 see ZFObject::observerNotify
 
static zfbool implAvailable ()
 whether impl is available
 
- Static Public Member Functions inherited from ZFObject
static const ZFClassClassData (void)
 get class info
 
static zfidentity E_ObjectBeforeAlloc (void)
 see ZFObject::observerNotify
 
static zfidentity E_ObjectAfterAlloc (void)
 see ZFObject::observerNotify
 
static zfidentity E_ObjectBeforeDealloc (void)
 see ZFObject::observerNotify
 
static zfidentity E_ObjectPropertyValueOnUpdate (void)
 see ZFObject::observerNotify
 
static zfidentity E_ObjectPropertyValueOnReset (void)
 see ZFObject::observerNotify
 
- Static Public Member Functions inherited from ZFTaskId
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFInterface
static const ZFClassClassData (void)
 get class info
 

Protected Types

typedef ZFObject zfsuper
 class ref to super
 
typedef ZFAudio zfself
 class ref to self
 
- Protected Types inherited from ZFObject
typedef _ZFP_Obj_Base zfsuper
 class ref to super
 
typedef ZFObject zfself
 class ref to self
 
- Protected Types inherited from ZFTaskId
typedef ZFInterface zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFTaskId zfself
 typedef for self
 
- Protected Types inherited from ZFInterface
typedef _ZFP_ObjI_Base zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFInterface zfself
 typedef for self
 

Protected Member Functions

virtual void objectOnInit (const ZFInput &input)
 load from input
 
virtual void objectOnInit (const zfstring &url)
 load from url
 
virtual void objectOnInit (void)
 override this to init your object
 
virtual void objectOnDealloc (void)
 override this to destroy your object
 
virtual void objectInfoImplAppend (zfstring &ret)
 see objectInfo
 
virtual void audioOnLoad (ZFResultType result, v_zfstring *errorHint)
 see E_AudioOnLoad
 
virtual void audioOnStart (void)
 see E_AudioOnStart
 
virtual void audioOnStop (ZFResultType result, v_zfstring *errorHint)
 see E_AudioOnStop
 
virtual void audioOnResume (void)
 see E_AudioOnResume
 
virtual void audioOnPause (void)
 see E_AudioOnPause
 
virtual void audioOnLoop (void)
 see E_AudioOnLoop
 
- Protected Member Functions inherited from ZFObject
virtual void objectInfoImpl (zfstring &ret)
 see objectInfo
 
virtual zfidentity objectHashImpl (void)
 see objectHash
 
virtual ZFCompareResult objectCompareImpl (ZFObject *anotherObj)
 see objectCompare
 
virtual ZFCompareResult objectCompareValueImpl (ZFObject *anotherObj)
 see objectCompareValue
 
virtual void observerOnAdd (zfidentity eventId)
 called when add first observer
 
virtual void observerOnRemove (zfidentity eventId)
 called when remove last observer
 
virtual void observerOnEvent (const ZFArgs &zfargs)
 notified when observerNotify
 
virtual void objectOnInitFinish (void)
 called after objectOnInit, safe to call virtual functions here
 
virtual void objectOnDeallocPrepare (void)
 called before objectOnDealloc, safe to call virtual functions here
 
virtual void objectOnRetain (void)
 called to retain object
 
virtual void objectOnRelease (void)
 called to release object
 
virtual void objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue)
 see E_ObjectPropertyValueOnUpdate
 
virtual void objectPropertyValueOnReset (const ZFProperty *property)
 see E_ObjectPropertyValueOnReset
 

Detailed Description

audio player

Member Function Documentation

◆ classData()

virtual const ZFClass * ZFAudio::classData ( void )
inlinevirtual

get instance's class info

Reimplemented from ZFObject.

◆ E_AudioOnLoad()

static zfidentity ZFAudio::E_AudioOnLoad ( void )
static

see ZFObject::observerNotify

called when audio load finished, ensured called in ZFThread::mainThread
param0 is a ZFResultType shows the load result, param1 is a v_zfstring shows the error hint if load fail

◆ E_AudioOnStart()

static zfidentity ZFAudio::E_AudioOnStart ( void )
static

see ZFObject::observerNotify

called when audio started, ensured called in ZFThread::mainThread

◆ E_AudioOnStop()

static zfidentity ZFAudio::E_AudioOnStop ( void )
static

see ZFObject::observerNotify

called when audio stopped, ensured called in ZFThread::mainThread
param0 is a ZFResultType shows the play result, param1 is a v_zfstring shows the error hint if play fail

◆ E_AudioOnResume()

static zfidentity ZFAudio::E_AudioOnResume ( void )
static

see ZFObject::observerNotify

called when audio start success and about to play, or resume from pause, ensured called in ZFThread::mainThread

◆ E_AudioOnPause()

static zfidentity ZFAudio::E_AudioOnPause ( void )
static

see ZFObject::observerNotify

called when audio pause, ensured called in ZFThread::mainThread

◆ E_AudioOnLoop()

static zfidentity ZFAudio::E_AudioOnLoop ( void )
static

see ZFObject::observerNotify

called when audio looped, ensured called in ZFThread::mainThread

◆ start()

virtual void ZFAudio::start ( )
virtual

start to play

it's ensured safe to call start immediately after load, but E_AudioOnLoad may called after E_AudioOnStart for this case
once loaded, it's ensured able to start and stop more than one time

◆ stop()

virtual void ZFAudio::stop ( )
virtual

stop play

Implements ZFTaskId.

◆ loopCur()

virtual zfindex ZFAudio::loopCur ( )
virtual

current loop count

reset when start, but keep previous value when stop

◆ position()

virtual void ZFAudio::position ( zftimet position)
virtual

change current position

note, change position may or may not work, depends on impl

◆ objectOnInit()

virtual void ZFAudio::objectOnInit ( void )
protectedvirtual

override this to init your object

subclass must call superclass's objectOnInit before any other code if override
you may also declare objectOnInit with params like this:

zfclass Parent : ... {
...
protected:
virtual void objectOnInit(void) {...};
};
zfclass Child : Parent {
protected:
// override all parent's objectOnInit is also required,
// because of function hiding of C++
virtual void objectOnInit(void) {
}
// custom init entry
virtual void objectOnInit(Params...) {
// your extra init steps
...
}
};
#define zfoverride
dummy macro shows that method override parent's method
Definition ZFCoreTypeDef_ClassType.h:58
#define zfclass
same as class, shows that this class is a ZFObject type
Definition ZFObjectClassTypeFwd.h:38
virtual void objectOnInit(void)
override this to init your object
virtual void objectOnInit(void)
override this to init your object
Warning
objectOnInit and objectOnDealloc is called as a virtual function, take good care of other virtual function call, use zfself::func() instead of this->func() if necessary, or use objectOnInitFinish/objectOnDeallocPrepare, or declare your own constructor with ZFOBJECT_DECLARE_WITH_CUSTOM_CTOR
Note
(ZFTAG_LIMITATION) due to limitations of C++, if your parent type declared objectOnInit with different params, and your child type want to override part of those objectOnInit, then your child type must also override all objectOnInit that parent declared, otherwise, some may be hidden
for objects that designed not to be allocated by user, you should use ZFOBJECT_PRIVATE_ALLOC, typically usage:
zfclass MyObject : zfextend ZFObject {
ZFOBJECT_DECLARE(MyObject, ZFObject)
ZFOBJECT_PRIVATE_ALLOC("should be created by MyObject::instanceForXxx only")
public:
static zfauto instanceForXxx(xxx) {
// can only be allocated by reflection
}
};
static void func(void) {
// MyObject *obj = zfAlloc(MyObject); // would compile error
zfauto obj = MyObject::instanceForXxx(xxx); // OK
}
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define ZFOBJECT_DECLARE(ChildClass, SuperClass,...)
necessary for every class inherit from ZFObject
Definition ZFObjectDeclare.h:126
#define ZFOBJECT_PRIVATE_ALLOC(...)
mark this object can not be allocated directly
Definition ZFObjectDeclare.h:245
static const ZFClass * ClassData(void)
get class info
Definition ZFAudio.h:17
zfauto newInstance(void) const
make a new instance of ZFObject dynamically, which is described by ZFClass
a ZFObject holder which would release content object automatically when destroyed
Definition zfautoFwd.h:34

Reimplemented from ZFObject.

◆ objectOnDealloc()

virtual void ZFAudio::objectOnDealloc ( void )
protectedvirtual

override this to destroy your object

subclass must call superclass's objectOnDealloc after any other code if override
see objectOnInit for more info

Reimplemented from ZFObject.

◆ objectInfoImplAppend()

virtual void ZFAudio::objectInfoImplAppend ( zfstring & ret)
inlineprotectedvirtual

see objectInfo

Reimplemented from ZFObject.


The documentation for this class was generated from the following file: