Player

VC.h

#import <UIKit/UIKit.h>
//#import <AVKit/AVKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController

@property (nonatomic,strong) NSString *audioURL_String;
@property AVPlayer *player;
- (IBAction)playBtnPressed:(id)sender;
@property (weak, nonatomic) IBOutlet UISlider *progressSlider;
@property (weak, nonatomic) IBOutlet UILabel *progessLbl;
- (IBAction)slide:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *songDurationLbl;
@property BOOL isChecked;
@property(nonatomic,strong)  NSMutableArray *audioCollectionURL,*teluguLyrCollectionArray,*englishLyrCollectionArray;
@property NSInteger songNum;
- (IBAction)forwardBtnPressed:(id)sender;

- (IBAction)backwardBtnPressed:(id)sender;
- (IBAction)refreshBtnPressed:(id)sender;

- (IBAction)favouriteBtnPressed:(id)sender;

//Lyrics
@property (weak, nonatomic) IBOutlet UIButton *telugu_Button;
@property (weak, nonatomic) IBOutlet UIButton *english_Button;
@property (weak, nonatomic) IBOutlet UITextView *lyrics_TextView;
- (IBAction)teluguButtonClicked:(id)sender;
- (IBAction)englishButtonClicked:(id)sender;

@property (nonatomic,strong) NSString *englishLyr_String,*teluguLyr_String;



@end


VC.m

#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%@",_audioURL_String);
    NSLog(@"%@",self.audioCollectionURL);
    
    [_lyrics_TextView setEditable:NO];

    [self.navigationController setNavigationBarHidden:NO];
    self.view.backgroundColor=[UIColor whiteColor];
    self.navigationController.navigationBar.barTintColor=[UIColor colorWithRed:0.12 green:0.16 blue:0.41 alpha:1.0];
    self.navigationController.navigationBar.tintColor=[UIColor whiteColor];
    self.title=@"Bhajana Songs";
    [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
    [self playingSong];
    // Do any additional setup after loading the view.
    [self lyrics];
    
    
    
}


-(void)viewWillDisappear:(BOOL)animated{
    [self.player pause];

}

-(void)playingSong{
    
    self.player =[[AVPlayer alloc]initWithURL:[NSURL URLWithString:_audioURL_String]];
    
    CMTime duration =self.player.currentItem.asset.duration;
    float seconds = CMTimeGetSeconds(duration);
    self.progressSlider.maximumValue = seconds;
    self.progressSlider.value = 0.0;
    
    
    
    Float64 currentSeconds = CMTimeGetSeconds(duration);
    int mins = seconds/60.0;
    int secs = fmodf(currentSeconds, 60.0);
    NSString *minsString = mins < 10 ? [NSString stringWithFormat:@"0%d", mins] :[NSString stringWithFormat:@"%d", mins];
    NSString *secsString = secs < 10 ? [NSString stringWithFormat:@"0%d", secs] :[NSString stringWithFormat:@"%d", secs];
    
    self.songDurationLbl.text = [NSString stringWithFormat:@"%@:%@", minsString, secsString];
    
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
    [self.player play];
    

}


- (IBAction)playBtnPressed:(id)sender {
    
    self.isChecked =!self.isChecked;
    if(self.isChecked == NO)
    {
        [sender setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
    [self.player play];
    }
    else
    {
        [sender setImage:[UIImage imageNamed:@"Play_Button_blue .png"] forState:UIControlStateNormal];
    [self.player pause];
    }
    
}
- (IBAction)slide:(id)sender {

    CMTime t = CMTimeMake(self.progressSlider.value, 1);

    [self.player seekToTime:t];
}


- (void)updateTime:(NSTimer *)timer {
    CMTime duration =self.player.currentTime;
    float seconds = CMTimeGetSeconds(duration);
    self.progressSlider.value = seconds;

    Float64 currentSeconds = CMTimeGetSeconds(self.player.currentTime);
    int mins = currentSeconds/60.0;
    int secs = fmodf(currentSeconds, 60.0);
    NSString *minsString = mins < 10 ? [NSString stringWithFormat:@"0%d", mins] :[NSString stringWithFormat:@"%d", mins];
    NSString *secsString = secs < 10 ? [NSString stringWithFormat:@"0%d", secs] :[NSString stringWithFormat:@"%d", secs];
    self.progessLbl.text = [NSString stringWithFormat:@"%@:%@", minsString, secsString];
}

- (IBAction)forwardBtnPressed:(id)sender {
    self.songNum++;
    NSLog(@"%ld",self.songNum);
    if (self.songNum<self.audioCollectionURL.count) {
        
        self.audioURL_String=[self.audioCollectionURL objectAtIndex:self.songNum];
        self.teluguLyr_String=[self.teluguLyrCollectionArray objectAtIndex:self.songNum];
        self.englishLyr_String=[self.englishLyrCollectionArray objectAtIndex:self.songNum];
        [self playingSong];
        [self lyrics];

    }
    else{
    
        NSLog(@"no  further songs available");
        
    }
    
}

- (IBAction)backwardBtnPressed:(id)sender {
    self.songNum--;
    NSLog(@"%ld",self.songNum);
    if (self.songNum>=0) {
        
        self.audioURL_String=[self.audioCollectionURL objectAtIndex:self.songNum];
        self.teluguLyr_String=[self.teluguLyrCollectionArray objectAtIndex:self.songNum];
        self.englishLyr_String=[self.englishLyrCollectionArray objectAtIndex:self.songNum];
       [self playingSong];
        [self lyrics];
    }
    else{
        
        NSLog(@"startng song reached");
        
    }
    
}

- (IBAction)refreshBtnPressed:(id)sender {
    
    
    
}

- (IBAction)favouriteBtnPressed:(id)sender {
}

-(void)lyrics{
    
    //Lyrics
    [_telugu_Button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
    [_english_Button setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
    _lyrics_TextView.text=_teluguLyr_String;
}
- (IBAction)teluguButtonClicked:(id)sender {
     [_telugu_Button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
     [_english_Button setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
    _lyrics_TextView.text=_teluguLyr_String;
}

- (IBAction)englishButtonClicked:(id)sender {
     [_english_Button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
     [_telugu_Button setImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
    _lyrics_TextView.text=_englishLyr_String;
    
}
@end
Previous
Next Post »

1 comments:

Write comments
Anonymous
AUTHOR
18 January 2018 at 01:03 delete

self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController *homeVc = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
// UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:homeVc];
self.window.rootViewController = homeVc;
[self.window makeKeyAndVisible];

Reply
avatar