如何在audioQueue中获取音乐的总持续时间.我在用
NSTimeInterval AQPlayer::getCurrentTime()
{
NSTimeInterval timeInterval = 0.0;
AudioQueueTimelineRef timeLine;
OSStatus status = AudioQueueCreateTimeline(mQueue, &timeLine);
if(status == noErr)
{
AudioTimeStamp timeStamp;
AudioQueueGetCurrentTime(mQueue, timeLine, &timeStamp, NULL);
timeInterval = timeStamp.mSampleTime;
}
return timeInterval;
}
Run Code Online (Sandbox Code Playgroud)
AudioQueueGetCurrentTime(mQueue,timeLine,&timeStamp,NULL); 为了获得当前的播放时间,它给出了一些有价值的大值以及如何获得音乐文件的持续时间.
如果应用程序变为非活动/活动状态(当出现某些警报或双击主页按钮时)它正常工作
AVPlayer *player;
- (void)applicationWillResignActive:(UIApplication *)application
{
[player pause];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[player play];
}
Run Code Online (Sandbox Code Playgroud)
如果应用程序进入后台(通过单击主页按钮)并返回,它不是从暂停位置播放而不是从不同点播放(有时从开始,有时从中间).
我使用下面的代码生成范围内的随机数...
int randomNumberWithinRange(int min,int max)
{
int snowSize = 0;
do
{
snowSize = rand()%max;
}
while( snowSize < min || snowSize > max );
return snowSize;
}
for(int i = 0; i < 10 ; i++)
NSlog("@"%d",\t", randomNumberWithinRange(1,100));
Run Code Online (Sandbox Code Playgroud)
如果我退出应用程序并重新启动,则会生成相同的数字集.如何为每次启动生成不同的随机数集.
例如,我有一个名为"WaterScene"的类,在.xml中我保存为字符串"WaterScene",当我读取.xml时,我必须将该字符串转换为类.一种方法是字符串比较
if( string == "WaterScene")
return new WaterScene;
Run Code Online (Sandbox Code Playgroud)
有没有通用的方法来避免字符串比较?就像在目标C(动态语言)中一样,我们可以使用字符串来获取类...
Class classObject =[[NSBundle mainBundle] classNamed:string];
Run Code Online (Sandbox Code Playgroud) 我需要使用动态演员空*
void *target = (MYClass*)target;//I am storing initially(to implment delegate mechanism)
....
delegateClass *delegate = dynamic_cast<delegateClass*>(target);
Run Code Online (Sandbox Code Playgroud)
它给出错误无法转换void*,我不能使用下面的代码...因为它是一个委托机制
delegateClass *delegate = dynamic_cast<delegateClass*>(((MYClass*))target);
Run Code Online (Sandbox Code Playgroud)
如何获取目标类型并实现...如果我使用typeid()我可以得到类的名称但是如何在上面的等式中使用typeid而不是(((MYClass*))target).
如何声明std map常量ie,
int a[10] = { 1, 2, 3 ,4 };
std::map <int, int> MapType[5] = { };
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
在about片段中,可以给整数数组a赋值1,2,3,4 ,类似地如何声明一些常量MapType值而不是在main()函数中添加值.
我正在将一个iPhone应用程序移植到Mac.在iPhone上我AVAudioPlayer用来播放声音,但它在Mac上不存在.什么是Mac相当于播放音频(希望像AVAudioPlayer一样简单,所以我可以轻松移植我的应用程序)?
另外,有没有可用于在Mac上播放音乐和声音文件的开源库/示例/包装器?
我使用以下代码无限制地动画UIView:
#define DEFAULT_ANIM_SPPED 0.6
#define INFINATE_VALUE 1e100f
[UIView beginAnimations:nil context:nil];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:INFINATE_VALUE];
[UIView setAnimationDuration:DEFAULT_ANIM_SPPED];
CGRect tempFrame=myView.frame;
tempFrame.origin.y -= 30;
myView.frame=tempFrame;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
如果我的应用程序转到后台,然后我返回它,那么所有这样的动画现在都停止了.为什么会这样?
是否可以使用CAAnimation实现动画的图像序列?我不想使用UIImageView ...
我需要类似于UIImageView的东西,我们可以设置imageView.animationImages并调用startAnimation ...但是使用CAAnimation
我需要在C++中实现类似@selector(Objecitive-C)的机制.通过谷歌搜索我找到了.它对我没有帮助......
template <class AnyClass>
class ClassCallback
{
// pointer to member function
void (AnyClass::*function)(void);
// pointer to object
AnyClass object;
public:
ClassCallback() { }
~ClassCallback() { }
ClassCallback(AnyClass _object, void(AnyClass::*_function)(void))
: object( _object ), function( _function ) { };
virtual void call(){
(object->*function)();
};
};
Run Code Online (Sandbox Code Playgroud)
是否有任何不同的实现方法,类似于Objective-C之类的
typedef struct objc_selector *MY_SEL;
Run Code Online (Sandbox Code Playgroud)
需要实现objc_selector它是objective-C中的抽象类.如何实现objc_selector任何想法......
c++ ×5
iphone ×5
objective-c ×3
audio ×2
cocoa ×2
core-audio ×2
animation ×1
avplayer ×1
cocoa-touch ×1
ios ×1
macos ×1
multitasking ×1
random ×1
stl ×1