Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 778363
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T19:45:06+00:00 2026-05-14T19:45:06+00:00

I need to determine what file type a file is and then perform a

  • 0

I need to determine what file type a file is and then perform a certain action for it. this seems to work fine for some types, however all media types such as videos and sound files get mixed up. I determine the file type by doing this:

   BOOL matchedMP3 = ([[rowValue pathExtension] isEqualToString:@"mp3"]);

   if (matchedMP3 == YES)
   {
    NSLog(@"Matched MP3");
            }
  

I do this for various file types and just define an "else" for all the others. Here’s the problem though. The iPhone calls them both. Here’s what the log reveals:

2010-05-11 18:51:12.421 Test [5113:207] Matched MP3

2010-05-11 18:51:12.449 Test [5113:207] Matched ELSE

I’ve never seen anything like this before.

This is my "matchedMP3" function:

  BOOL matchedMP3 = ([[rowValue pathExtension] isEqualToString:@"mp3"]);
   if (matchedMP3 == YES)
   {
    NSLog(@"Matched MP3");
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSFileManager *manager = [NSFileManager defaultManager];
    self.directoryContent = [manager directoryContentsAtPath:documentsDirectory];
    
    NSString *errorMessage = [documentsDirectory stringByAppendingString:@"/"];
    
    NSString *urlAddress = [errorMessage stringByAppendingString:rowValue];
    
    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:urlAddress]];
    
    moviePlayer.movieControlMode = MPMovieControlModeDefault;
    
    moviePlayer.backgroundColor = [UIColor blackColor];
    
    [moviePlayer play];
   }

and here’s the else statement:

   else {
    NSLog(@"Matched ELSE");
    [[NSUserDefaults standardUserDefaults] setObject:rowValue forKey:@"rowValue"];
    
    NSString*rowValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"rowValue"];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSFileManager *manager = [NSFileManager defaultManager];
    self.directoryContent = [manager directoryContentsAtPath:documentsDirectory];
    
    NSString *errorMessage = [documentsDirectory stringByAppendingString:@"/"];
    
    NSString *urlAddress = [errorMessage stringByAppendingString:rowValue];
    
    webViewHeader.prompt = rowValue;
    
    [documentViewer setDelegate:self];
    
    NSString *encodedString = [urlAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    //Create a URL object.
    NSURL *url = [NSURL URLWithString:encodedString];
    
    //URL Requst Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    
    //Load the request in the UIWebView.
    [documentViewer loadRequest:requestObj];
    
    [navigationController pushViewController:webView animated:YES];
    
   }

I can’t see a reason why it wouldn’t work. What happens is that both the webview and the MediaPlayer toggle their own player, so they overlap and play their sound/video a few secs apart from each other.

Any help would be appreciated & thank for you taking the time to read through my code.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T19:45:07+00:00Added an answer on May 14, 2026 at 7:45 pm

    Didn’t you mistakenly do something like

      if(conditionA)
      {
      ...
      }
      if(conditionB)
      {
      ...
      }
      else
      {
      ....
      }
    

    In this case, if conditionA is satisfied but conditionB is not, the else clause is executed, because the first if clause finishes at the second if. You would want

      if(conditionA)
      {
      ...
      }
      else if(conditionB)
      {
      ...
      }
      else
      {
      ....
      }
    

    instead. Beware the else if.

    By the way, you don’t have to and shouldn’t compare a BOOL against YES.

     if(matchedMP3)
    

    is enough. Remember, if accepts a boolean expression inside. A boolean value is a boolean expression!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to determine the number of pages in a specified PDF file using
I need to determine if a user-supplied string is a valid file path (i.e.,
I need to determine the ID of a form field from within an action
I need to determine which version of GTK+ is installed on Ubuntu Man does
I need to determine if a Class object representing an interface extends another interface,
I need to determine the current year in Java as an integer. I could
I need to determine the highest .NET framework version installed on a desktop machine
I need to determine state of last build (success/failure) and I do it like
I need to determine which pages of a Word document that a keyword occurs
I have a need to determine what security group(s) a user is a member

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.