小编Cha*_* SP的帖子

如何在AudioQueue中查看当前时间和持续时间

如何在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); 为了获得当前的播放时间,它给出了一些有价值的大值以及如何获得音乐文件的持续时间.

audio cocoa core-audio audioqueueservices

5
推荐指数
1
解决办法
5520
查看次数

当应用程序进入后台时,AVPlayer暂停并播放问题

如果应用程序变为非活动/活动状态(当出现某些警报或双击主页按钮时)它正常工作

AVPlayer *player;

- (void)applicationWillResignActive:(UIApplication *)application
{
    [player pause];
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [player play];
}
Run Code Online (Sandbox Code Playgroud)

如果应用程序进入后台(通过单击主页按钮)并返回,它不是从暂停位置播放而不是从不同点播放(有时从开始,有时从中间).

iphone ios avplayer

5
推荐指数
1
解决办法
6543
查看次数

随机数生成

我使用下面的代码生成范围内的随机数...

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)

如果我退出应用程序并重新启动,则会生成相同的数字集.如何为每次启动生成不同的随机数集.

c++ iphone random

4
推荐指数
1
解决办法
1374
查看次数

在C++中如何将字符串转换为类对象?

例如,我有一个名为"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)

c++ objective-c

4
推荐指数
3
解决办法
3431
查看次数

dynamic_cast of void*

我需要使用动态演员空*

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).

c++

4
推荐指数
1
解决办法
2817
查看次数

声明std :: map常量

如何声明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()函数中添加值.

c++ stl

3
推荐指数
2
解决办法
2万
查看次数

AVAudioPlayer的Mac等价物是什么?

我正在将一个iPhone应用程序移植到Mac.在iPhone上我AVAudioPlayer用来播放声音,但它在Mac上不存在.什么是Mac相当于播放音频(希望像AVAudioPlayer一样简单,所以我可以轻松移植我的应用程序)?

另外,有没有可用于在Mac上播放音乐和声音文件的开源库/示例/包装器?

iphone audio macos cocoa core-audio

2
推荐指数
1
解决办法
2345
查看次数

当我的应用程序进入后台时,为什么我的无限UIView动画会停止?

我使用以下代码无限制地动画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)

如果我的应用程序转到后台,然后我返回它,那么所有这样的动画现在都停止了.为什么会这样?

iphone cocoa-touch core-animation multitasking

2
推荐指数
1
解决办法
3381
查看次数

使用CAAnimation动画图像

是否可以使用CAAnimation实现动画的图像序列?我不想使用UIImageView ...

我需要类似于UIImageView的东西,我们可以设置imageView.animationImages并调用startAnimation ...但是使用CAAnimation

iphone animation core-animation objective-c

2
推荐指数
1
解决办法
2100
查看次数

C++中的@selector实现

我需要在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++ objective-c objective-c++

2
推荐指数
1
解决办法
3442
查看次数