【问题标题】:How to add sound while UIScrollview is scrolling in iphone sdk?UIScrollview 在 iphone sdk 中滚动时如何添加声音?
【发布时间】:2012-06-05 13:40:04
【问题描述】:

这是我在 iPhone SDK 中滚动 UIScrollview 时添加声音的代码。在这段代码中,如何在滚动中使用触摸事件时添加声音? 请给我你的想法和建议或样品。

const CGFloat kScrollObjHeight  = 151.0;
const CGFloat kScrollObjWidth   =320.0;    
const NSUInteger kNumImages  = 5;

- (void)layoutScrollImages
{
  UIImageView *view = nil;
  NSArray *subviews = [scrollView1 subviews];
  CGFloat curXLoc = 0;
  for (view in subviews)
    {
      if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
       {
        CGRect frame = view.frame;
        frame.origin = CGPointMake(curXLoc, 0);
        view.frame = frame;
        curXLoc += (kScrollObjWidth);
       }
    }
   [scrollView1 setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), [scrollView1 bounds].size.height)];
 }

- (void)viewDidLoad
 {
   self.view.backgroundColor = [UIColor clearColor];
   [scrollView1 setBackgroundColor:[UIColor whiteColor]];
   [scrollView1 setCanCancelContentTouches:NO];
   scrollView1.indicatorStyle = UIScrollViewIndicatorStyleWhite;
   scrollView1.clipsToBounds = YES; 
   scrollView1.scrollEnabled = YES;
   scrollView1.pagingEnabled = YES;
   NSUInteger i;
   for (i = 1; i <= kNumImages; i++)
   {
     NSString *imageName = [NSString stringWithFormat:@"snap%d.jpg", i];
     UIImage *image = [UIImage imageNamed:imageName];
     UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
     CGRect rect = imageView.frame;
     rect.size.height = kScrollObjHeight;
     rect.size.width = kScrollObjWidth;
     imageView.frame = rect;
     imageView.tag = i;
     [scrollView1 addSubview:imageView];
     [imageView release];
     [self layoutScrollImages];
   }
   [super viewDidLoad];
}

【问题讨论】:

  • 我尝试了很多教程,但我没有得到任何解决这个问题的方法..所以请帮助我..
  • 请格式化您的代码以获得更好的可读性
  • @SangeethRajan 你已经问了这个问题差不多四次了。您已经从其他帖子中获得了很多关于此主题的答案,因此,如果您不理解所获得的答案,请编辑您以前的帖子,或者继续自己研究,但不要继续问这个问题一遍又一遍。

标签: objective-c ios uiscrollview touch-event audio


【解决方案1】:

UIScrollViewDelegate 添加到您的界面,然后在scrollViewWillBeginDragging 状态下滚动任务时播放声音,并在scrollViewDidEndDragging 状态下停止滚动。

您可以使用AVAudioPlayer在iOS设备上播放声音

更新:

在滚动视图即将开始滚动内容时通知代理。

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

另外,在滚动视图中拖动结束时告诉代理。

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

在您的代码中实现这些并放入您的自定义行为

【讨论】:

  • 您好 Srikar,您可以给我发送任何示例代码或参考链接吗?
  • 我看不懂..请通过插入AVAudioplayer给我一个简短的解释代码。
【解决方案2】:

你可以使用 UIScrollViewDelegate 方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
   //play sound here 
}

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    相关资源
    最近更新 更多