zoukankan      html  css  js  c++  java
  • iOS项目--古典音乐浏览

    #import "ShowViewController.h"

    #import "MusicCollectionViewCell.h"

    #import "ViewController.h"

    #import <MediaPlayer/MediaPlayer.h>

    #import <AVFoundation/AVFoundation.h>

    @interface ShowViewController ()<UIScrollViewDelegate>

    @property (nonatomic,strong)AVAudioPlayer *player;

    @end

    @implementation ShowViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        

        

        NSURL *url = [[NSBundle mainBundle]URLForResource:@"不灭" withExtension:@"mp3"];

        self.player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];

        [self.player play];

        CGFloat imageWidth = self.scrollView.frame.size.width;

        CGFloat imageHeight = self.scrollView.frame.size.height;

        

        for (int i = 0 ; i<15; i++) {

            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",i+1]];

            UIImageView *imgView = [[UIImageView alloc]initWithImage:image];

            CGFloat imageX = i * imageWidth;

            CGFloat imageY = 0;

            imgView.frame =CGRectMake(imageX, imageY, imageWidth, imageHeight);

            [self.scrollView addSubview:imgView];

        }

        

        self.pageCtr.numberOfPages = 15;

        self.scrollView.contentSize = CGSizeMake(15 * imageWidth, 0);

        self.scrollView.delegate = self;

        [self addTimer];

        // Do any additional setup after loading the view.

    }

    -(void)addTimer{

        NSTimer *timer = [NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(nextPage) userInfo:nil repeats:YES];

        [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];

    }

    - (IBAction)stopClick {

        int flag = 0;

        flag+=1;

        

        if (flag %2 != 0) {

            [self.player stop];

        }else if (flag %2 == 0){

            [self.player play];

        }

    }

    -(void)nextPage

    {

        int page = (int)self.pageCtr.currentPage;

        

        if (page == 14) {

            page = 0;

        }else{

        

            page++;

        }

        self.scrollView.contentOffset = CGPointMake(page * self.scrollView.frame.size.width, 0);

        

    }

    -(void)scrollViewDidScroll:(UIScrollView *)scrollView{

        

        int page = (self.scrollView.frame.size.width + self.scrollView.contentOffset.x)/self.scrollView.frame.size.width;

        self.pageCtr.currentPage = page;

    }

    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

        [self addTimer];

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

  • 相关阅读:
    对象参数dojo异步编程之dojo/promise/all模块(dojo/DeferredList替代者)
    文件进程linux系统编程之文件与I/O(五):打开文件的内核结构file和重定向
    代码配置spring scala
    返回行javascript比较时间大小
    项目邮件[置顶] 失业的程序员(十二):潜意识的智商
    地址变形Uva 11401 Triangle Counting
    节点拓扑应用拓扑排序来解决DAG(directed acylic graph)的单源最短路径问题
    TortoiseGit使用入门
    RGMII
    ARM处理器系统初始化编程注意事项
  • 原文地址:https://www.cnblogs.com/adodo/p/5242767.html
Copyright © 2011-2022 走看看