Vous êtes sur la page 1sur 48

ABSTRACT

The aim of the project is develop A mp3 music player.In order to solve the problem of
complex functions and large required memory of music player application on the current
market, a new music player of simple, convenient,less required memory as well as user-friendly
is developed. Based on the Windows platform ,using the C#.NET language and MySQL
programming tools lead to design and coding of music player. The new design mainly realizes
core functions including main play interface,playlists, menus, play settings, file browsing,
favourite list and song search. This player has merits of inconvenience as multiple programs
running at the same time.For the most ordinary users, many functions are useless. The purpose
of this article is to develop a player which can play the mainstream music file format.To browse
and query the storage space as well as operation of adding, deleting, and playing can be
realized. Meanwhile, this software can play, pause and select songs with previous Button and
next Button according to users ' requirement as well as set up songs order and etc .M player
based on Windows is popular in the market at the present. The completing development of
Windows operating system gives developers a nice platform, which can learn the popular
computer technology combining with learned knowledge, and master the latest knowledge,
enrich oneself, and enjoy entertainment.high performance, simple operation, and run
independently on the Windows operating systems. At the same time, the player can also browse
and access files in computer. Undoubtly, music is one of the best ways to relieve pressure in
stressful modern society life.

1
SYSTEM ANALYSIS

System analysis is a detailed study of various operations performed by a system within


and outside the system. One aspect of analysis is defining the boundaries of the system and
determining whether or not a candidate system should consider other related system. During
analysis data are collected on available file, no such existing system, analysis defines only the
requirements. Once the analysis is completed; the system analyst has a firm understanding of
what is to be done.

The various techniques used in the study of present system are

Observation
Documentation
Discussion

The objectives of the system analysis phase are establishments of requirements for the
system to be acquired, developed, and installed. Analysing the product to understand the
intricacy forms the vital part of the system study. Problematic areas are identified and
information is collected. Fact-finding or information gathering is essential to any analysis of
requirements.

2.1 EXISTING SYSTEM

User can play or download songs using various options on the site. For ease of user songs
are divided into 3 main categories like Punjabi, Hindi & English Songs. User can also search for
songs using 2 different methods. Different validations are applied to ensure proper input by the
user. User can also send messages and feedback. As this is total dynamic project whatever
information admin will add, user will be able see that information at the same time. Admin can
also view feedback & messages sent by users.

2.1.1 Drawbacks

1.Does not list music based on artist,genre etc.

2.Complex type.

3.Costly.

2.2 PROPOSED SYSTEM

In proposed sysyem, the user can easly handle music player .It has no cost to be payed by
the user.All controls are used in the music player are easly acessable to the user. The new design

2
mainly realizes core functions including main play interface,playlists, menus, play settings, file
browsing, favourite list and song search. This player has merits of inconvenience as multiple
programs running at the same time.For the most ordinary users, many functions are useless.

2.2.1 Advantages

The proposed system supports a wide range of features.

1.Add to favorite option

2.Easly accessable.

3.Easy to use.

4.User friendly.

2.3 FEASIBILITY STUDY

The feasibility of the project is analysed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the proposed
system is not a burden to the company. For feasibility analysis, some understanding of the
major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

Economic Feasibility
Technical Feasibility
Social Feasibility

2.3.1 Economic Feasibility

This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and development
of the system is limited. The expenditures must be justified. Thus the developed system as well
within the budget and this was achieved because most of the technologies used are freely
available. Only the customized products had to be purchased.

3
2.3.2 Technical Feasibility

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the
available technical resources. This will lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed system
must have a modest requirement, as only minimal or null changes are required for
implementing this system.

2.3.3 Social Feasibility

The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system and
to make him familiar with it. His level of confidence must be raised so that he is also able to
make some constructive criticism, which is welcomed, as he is the final user of the system.

4
SYSTEM SPECIFICATION

3.1 HARDWARE REQUIREMENTS

Processor Pentium

Hard Disk 120 GB

RAM 2 GB

Monitor 15.6 inches

Sound Card RealTek High definition audio

3.2 SOFTWARE REQUIREMENTS

Front End .NET Framework

Software Tools Microsoft Visual Studio 2010

Back End MySQL Server 2008

Operating System Windows 7/8 /10

5
SOFTWARE DESCRIPTION

4.1 FRONT END AND FEATURES

The .Net Framework

The .NET Framework has two main parts:

1. The Common Language Runtime (CLR).


2. A hierarchical set of class libraries.

The CLR is described as the execution engine of .NET. It provides the environment
within which programs run.

Common Type System

The CLR uses something called the Common Type System (CTS) to strictly enforce
type-safety. This ensures that all classes are compatible with each other, by describing types in
a common way. CTS define how types work within the runtime, which enables types in one
language to interoperate with types in another language, including cross-language exception
handling.

Common Language Specification

The CLR provides built-in support for language interoperability. To ensure that you
can develop managed code that can be fully used by developers using any programming
language, a set of language features and rules for using them called the Common Language
Specification (CLS) has been defined. Components that follow these rules and expose only
CLS features are considered CLS-compliant.

The Class Library

NET provides a single-rooted hierarchy of classes, containing over 7000 types. The root of the
namespace is called System; this contains basic types like Byte, Double, Boolean, and String, as

6
well as Object. All objects derive from System. Object. As well as objects, there are value
types. Value types can be allocated on the stack, which can provide useful flexibility. There are
also efficient means of converting value types to object types if and when necessary.

Figure 4.1: .Net framework platform architecture

C#

C# is a multi-paradigm programming language encompassing strong


typing,imperative,declarative,functional,generic,object-oriented (class-based), and component
oriented programming disciplines. It was developed by Microsoft within its .NET initiative and
later approved as a standard by ECMA(ECMA-334) and ISO (ISO/IEC 23270:2006). C# is one
of the programming languages designed for the Common Language Infrastructure.

C# is intended to be a simple, modern, general-purpose, object-oriented programming


language. Its development team is led by Anders Hejlsberg. The most recent version is C# 5.0,
which was released on August 15, 2012.

7
Distinguishing features

Some notable features of C# that distinguish it from C and C++ (and Java, where noted) are:

Portability

By design, C# is the programming language that most directly reflects the underlying
Common Language Infrastructure (CLI). Most of its intrinsic types correspond to value-types
implemented by the CLI framework. However, the language specification does not state the
code generation requirements of the compiler: that is, it does not state that a C# compiler must
target a Common Language Runtime, or generate Common Intermediate Language (CIL), or
generate any other specific format. Theoretically, a C# compiler could generate machine code
like traditional compilers of C++ or FORTRAN.

Meta programming

Meta programming via C# attributes is part of the language. Many of these attributes
duplicate the functionality of GCC's and Visual C++'s platform-dependent pre-processor
directives.

Methods and functions

Like C++, and unlike Java, C# programmers must use the keyword virtual to allow
methods to be overridden by subclasses. Extension methods in C# allow programmers to use
static methods as if they were methods from a class's method table, allowing programmers to
add methods to an object that they feel should exist on that object and its derivatives. The type
dynamic allows for run-time method binding, allowing for JavaScript-like method calls and
run-time object composition.

C# has support for strongly-typed function pointers via the keyword delegate. Like the
Qt framework's pseudo-C++ signal and slot, C# has semantics specifically surrounding
publish-subscribe style events, though C# uses delegates to do so.

Property

C# provides properties as syntactic sugar for a common pattern in which a pair of


methods, ACCESSOR (getter) and MUTATOR (setter) encapsulate operations on a single
attribute of a class. No redundant method signatures for the getter/setter implementations need
be written, and the property may be accessed using attribute syntax rather than more verbose
method calls.

8
Namespace

A C# namespace provides the same level of code isolation as a Java package or a C++
namespace, with very similar rules and features to a package.

Memory access

In C#, memory address pointers can only be used within blocks specifically marked as
unsafe, and programs with unsafe code need appropriate permissions to run. Most object access
is done through safe object references, which always either point to a "live" object or have the
well-defined null value; it is impossible to obtain a reference to a "dead" object (one that has
been garbage collected), or to a random block of memory. An unsafe pointer can point to an
instance of a value-type, array, string, or a block of memory allocated on a stack. Code that is
not marked as unsafe can still store and manipulate pointers through the System.IntPtr type, but
it cannot dereference them.

Managed memory cannot be explicitly freed; instead, it is automatically garbage


collected. Garbage collection addresses the problem of memory leaks by freeing the
programmer of responsibility for releasing memory that is no longer needed.

Exception

Checked exceptions are not present in C# (in contrast to Java). This has been a
conscious decision based on the issues of scalability and versionability.

Polymorphism

Unlike C++, multiple inheritance is not supported by C#, although a class can
implement any number of interfaces. This was a design decision by the language's lead
architect to avoid complication and simplify architectural requirements throughout CLI. When
implementing multiple interfaces that contain a method with the same signature, C# allows the
programmer to implement each method depending on which interface that method is being
called through, or, like Java, allows the programmer to implement the method once and have
that be the single invocation on a call through any of the class's interfaces.

Functional programming

Though primarily an imperative language, C# 2.0 offered limited support for functional
programming through first-class functions and closures in the form of anonymous delegates.
C# 3.0 expanded support for functional programming with the introduction of a light weight

9
syntax for lambda expressions, extension methods (an affordance for modules), and a list
comprehension syntax in the form of a "query comprehension" language.

Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment (IDE) from


Microsoft. It is used to develop computer programs for Microsoft Windows, as well as web
sites, web applications and web services. Visual Studio uses Microsoft software development
platforms such as Windows API, Windows Forms, Windows Presentation
Foundation,Windows Store and Microsoft Silverlight. It can produce both native code and
managed code.

Visual Studio includes a code editor supporting IntelliSense (the code completion
component) as well as code refactoring. The integrated debugger works both as a source-level
debugger and a machine-level debugger. Other built-in tools include a forms designer for
building GUI applications, web designer, class designer, and database schema designer. It
accepts plug-ins that enhance the functionality at almost every levelincluding adding support
for source-control systems (like Subversion) and adding new toolsets like editors and visual
designers for domain-specific languages or toolsets for other aspects of the software
development lifecycle (like the Team Foundation Server client: Team Explorer).

Visual Studio supports different programming languages and allows the code editor and
debugger to support (to varying degrees) nearly any programming language, provided a
language-specific service exists. Built-in languages include C,C++ and C++/CLI (via Visual
C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio
2010). Support for other languages such as M, Python, and Ruby among others is available via
language services installed separately. It also supports XML/XSLT,HTML/XHTML,JavaScript
and CSS. Java (and J#) were supported in the past.

Visual Studio 2010

On 12 April 2010, Microsoft released Visual Studio 2010, codenamed Dev10, and
.NET Framework 4. The Visual Studio 2010 IDE was redesigned which, according to
Microsoft, clears the UI organization and "reduces clutter and complexity." The new IDE better
supports multiple document windows and floating tool windows, while offering better multi-
monitor support. The IDE shell has been rewritten using the Windows Presentation Foundation
(WPF), whereas the internals have been redesigned using Managed Extensibility Framework
(MEF) that offers more extensibility points than previous versions of the IDE that enabled add-
ins to modify the behaviour of the IDE.

10
The new multi-paradigm ML-variant F# forms part of Visual Studio 2010.Visual Studio
2010 comes with .NET Framework 4 and supports developing applications targeting Windows
7. It supports IBM DB2 and Oracle databases, in addition to Microsoft SQL Server. It has
integrated support for developing Microsoft Silverlight applications, including an interactive
designer. Visual Studio 2010 offers several tools to make parallel programming simpler: in
addition to the Parallel Extensions for the .NET Framework and the Parallel Patterns Library
for native code, Visual Studio 2010 includes tools for debugging parallel applications. The new
tools allow the visualization of parallel Tasks and their runtime stacks. Tools for profiling
parallel applications can be used for visualization of thread wait-times and thread migrations
across processor cores. Intel and Microsoft have jointly pledged support for a new Concurrency
Runtime in Visual Studio 2010 and Intel has launched parallelism support in Parallel Studio as
an add-on for Visual Studio.

The Visual Studio 2010 code editor now highlights references; whenever a symbol is
selected, all other usages of the symbol are highlighted. It also offers a Quick Search feature to
incrementally search across all symbols in C++, C# and VB.NET projects. Quick Search
supports substring matches and CAMELCASE searches. The Call Hierarchy feature allows the
developer to see all the methods that are called from a current method as well as the methods
that call the current one. IntelliSense in Visual Studio supports a consume-first mode which
developers can opt into. In this mode, IntelliSense will not auto-complete identifiers; this allows
the developer to use undefined identifiers (like variable or method names) and define those
later. Visual Studio 2010 can also help in this by automatically defining them, if it can infer
their types from usage. Current versions of Visual Studio have a known bug which makes
IntelliSense unusable for projects using pure C (not C++).Visual Studio 2010 no longer supports
development for Windows Mobile prior to Windows Phone 7. Visual Studio 2010 Service Pack
1 was released in March 2011.

4.2 BACK END AND FEATURES

MySQL Server

MySql Server is a database management system .As a database server, it is a software


product whose primary function is to store and retrieve data as requested by other software
applications, be it those on the same computer or those running on another computer across a
network (including the Internet).

11
SQL Server 2008

SQL Server 2008 (10.50.1600.1, formerly codenamed "Kilimanjaro") was announced at


TechEd 2009, and was released to manufacturing on April 21, 2010. SQL Server 2008 adds
certain features to SQL Server 2008 including a master data management system branded as
Master Data Services, a central management of master data entities and hierarchies. Also Multi
Server Management, a centralized console to manage multiple SQL Server 2008 instances and
services including relational databases, Reporting Services, Analysis Services & Integration
Services.

SQL Server 2008 includes a number of new services, including POWERPIVOT for
Excel and SharePoint, Master Data Services, STREAMINSIGHT, Report Builder 3.0,
Reporting Services Add-in for SharePoint, a Data-tier function in Visual Studio that enables
packaging of tiered databases as part of an application, and a SQL Server Utility named UC
(Utility Control Point), part of AMSM (Application and Multi-Server Management) that is
used to manage multiple SQL Servers.

Data Storage

Data storage is a database, which is a collection of tables with typed columns. SQL
Server supports different data types, including primary types such as Integer, Float, Decimal,
Char (including character strings), Varchar (variable length character strings), binary (for
unstructured blobs of data), Text (for textual data) among others.

Microsoft SQL Server also allows user-defined composite types (UDTs) to be defined
and used. It also makes server statistics available as virtual tables and views (called Dynamic
Management Views or DMVs). In addition to tables, a database can also contain other objects
including views, stored procedures, indexes and constraints, along with a transaction log. A
SQL Server database can contain a maximum of 231 objects, and can span multiple OS-level
files with a maximum file size of 260 bytes (1 Exabyte). The data in the database are stored in
primary data files with an extension .mdf. Secondary data files, identified with a .ndf extension,
are used to allow the data of a single database to be spread across more than one file, and
optionally across more than one file system. Log files are identified with the .ldf extension.

SQL-SERVER database consist of six type of objects,

1. Table
2. Query
3. Form
4. Report
5. Macro

12
Table

A database is a collection of data about a specific topic.

Views of Table

We can work with a table in two types,

1. Design View
2. Datasheet View

Design View

To build or modify the structure of a table we work in the table design view.
We can specify what kind of data will be hold.

Datasheet View

To add, edit or analyses the data itself we work in tables datasheet view mode.

Query

A query is a question that has to be asked the data. Access gathers data that answers the
question from one or more table. The data that make up the answer is either DYNASET (if you
edit it) or a snapshot (it cannot be edited).Each time we run query, we get latest information in
the DYNASET. Access either displays the DYNASET or snapshot for us to view or perform an
action on it, such as deleting or updating.

Form

A form is used to view and edit information in the database record by record. Forms use
the familiar controls such as textboxes and checkboxes. This makes viewing and entering data
easy.

Views of Form:

13
We can work with forms in several primarily there are two views,

1. Design View
2. Form View

Design View

To build or modify the structure of a form, we work in forms design view. We


can add control to the form that are bound to fields in a table or query, includes
textboxes, option buttons, graphs and pictures.

Form View

The form view which display the whole design of the form.

Report

A report is used to vies and print information from the database. The report can ground
records into many levels and compute totals and average by checking values from many
records at once. Also the report is attractive and distinctive because we have control over the
size and appearance of it.

Macro

A macro is a set of actions. Each action in macros does something. Such as opening a
form or printing a report .We write macros to automate the common tasks the work easy and
save the time.

14
PROJECT DESCRIPTION

5.1 PROBLEM DEFINITION

User play music , when M player increase priority to all the music belonging to the same
genre.M Player could not adds the average priority of a genre to all the music belonging to that
genre. So, priority doesnt gets increased for that genre.. In this part, the user cannot control the
priority. The user might not expect the same music to play repetitively. So, the user can check
the 'Do not repeat until all music is played' check box in the options.

5.2 OVERVIEW OF THE PROJECT

The aim of this project is to develop a music application which enables the user to play
music files in the system.This application is usedto play the files which are in .mp3 format.It
also provide the feature to add music files into favorite list.The user can search for music files
by entering the file name in search box.

It also have the features like play,pause,previous,next and seek bars for volume and
music control .Refresh option is also available to update the library.

5.3 MODULE DESCRIPTION

User:User interact with the system.The user can play ,pause,forward,backward the
music and also play and pause control.

The sub modules are:

1.All Music(Menu) - Lists All .Mp3 Files Stored In The System

2.Favourites (Menu) List All The Favourite Music Files

3.Library Update Refresh The Music List And Search For New Music Files Added
Recent

4.Track Seek Used To Seek The Music To Any Position Using Seeker Control

5. Play/Pause Button Used To Play And Pause The Playing Song

15
6.Add To Favourite Button It Adds Music Files Into A Dedicated List Called
Favourites

7.Next/Previous Plays The Previous Or Next Songs In The Music List

8.Stop Button Used To Stop The Playing Music

9.Volume Seeker Used To Change The Volume With The Help Of Seeker Control

10.Search Used To Search For Music Files In The Music List

11.Exit(Menu) To Exit Out Of The Application

5.4 DATA FLOW DIAGRAM

Data flow diagram is a structured, diagrammatic technique for showing the functions performed
by a system and the data flowing into, out of, and within it. The technique exploits a method
called top down expansion to conduct the analysis in a targeted way. There are only four
symbols. They are:

External Entity

An external entity is a source or destination of a data flow, which is outside the area of
study. The symbol used is an oval containing a meaningful and unique identifier.

Process

A process shows a transformations or manipulation of data flows within the system.


The symbol used is a rectangular box, which contains 4 descriptive elements.

Data Flow

A data flow shows the flow of information from its source to its destination. A data flow is
represented by a line, with arrowheads showing the direction of flow. Each data flow may be
referenced by the processes or data stores at its head and tail, or by a description of its contents.

16
Data Store

A data store is a holding place for information within the system: It is represented by an open
ended narrow rectangle. A Data Flow diagram (DFD) consists of a series of bubbles joined by
lines. In the normal Convention, a DFD has four major symbols.

Rounded Rectangle

A process shows a transformation or manipulation of data flows


within the system. The symbol used is a circle, which contains 3
descriptive elements. An identification number appears in the upper
left hand corner. This is allocated arbitrarily at the top level and
serves as a unique reference. A location appears to the right of the
identifier and describes where in the system the process takes place.
A descriptive title is placed in the center of the box.

Arrow
A data flow shows the flow of information from its source to its
destination. A data flow is represented by a line, with arrowheads
showing the direction of flow

Rectangle

An external entity is a source or destination of a data flow, which is


outside the area of study. The symbol used is an oval containing a
meaningful and unique identifier.

Database

A data store is a holding place for information within the system. It


is represented by an open ended narrow rectangle.

In the proposed project there are three levels of diagram has been drawn to describe the
concept of the project. They are,

Level-0 DFD
Level-1 DFD

17
5.4.1 LEVEL-0 DFD

User
Music Player

Fig 5.4.1 Level 0 DFD

5.4.2 LEVEL-1 DFD

Taking instructions User inputs

Window
User s

Menu

Music
Player
Show result

Carrying information from OS

Fig 5.4.2 Level-1 DFD

18
5.5 TABLE DESIGN

The database design is a must for any application developed especially more for the data
store projects. Since the online test method involves storing the question and test mark in the
table and produced to the student, proper suggestion course so need proper table to need store
information. The database is an integrated collection of data. For developing an efficient
database, we will have to fulfil certain conditions such as:

Easy to use
Data independence
Accuracy and integrity
Recovery from failure
Privacy and security
Performance
.

Column Name Data Type(size) Constraints Description

m_name Varchar 20 Not Null, Primary Key

m_location Varchar 30 Not Null

Table 5.5 tbl_music

19
5.6 USECASE DIAGRAM

Fig 5.6 Usecase Diagram

20
5.7 ACTIVITY DIAGRAM

Fig 5.7 Activity Diagram

21
5.8 CLASS DIAGRAM

main_frm 1 1
mp3_loader
Qry : string
Pla : int
drive_name: string directorypath:
Pau : int
string search_val: string
Flag : int
listing()
allmusic_Click() WalkDirectoryTree()
all_display() 1
textBox1_Leave()
scroll_track()
main_frm()
1

1 1

volume_cntrl
db_connect
VK_VOLUME_MUTE:byte
con:SqlConnection
VK_VOLUME_DOWN:byte
cmd:SqlCommand
VK_VOLUME_UP:byte
da:SqlDataAdapter
KEYEVENTF_EXTENDEDKEY:uint32
KEYEVENTF_KEYUP:uint32 Ins_Up_Del()
getdatatable()
Volume_up()
Volume_down()
Mute()

Fig 5.8 Class Diagram

22
5.9 SEQUENCE DIAGRAM

USER MUSIC PLAYER SONG

Request song

Search song

Verifysong

Select song

Start song

Fig 5.9 Sequence Diagram

23
SYSTEM TESTING

Software testing is a critical element assurance and represents the ultimate pros of
specification, design and coding. Testing represents an interesting anomaly phase it was an
attempt to build software from an abstract concepts to a tangible implementation.

The testing phase involves the testing of the development system using various test data.
After preparing the test data, the system under study is tested using these test data. While
testing the system by using test data, errors were found and corrected. Thus a series were
performed before system being ready for implementation. Various type of testing done on the
system is:-

Unit Testing
Integration Testing
Validation Testing
Output Testing
User Acceptance Testing
Black Box Testing
White Box Testing

6.1 UNIT TESTING

Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before integration.
This is a structural testing, that relies on knowledge of its construction and is invasive. Unit
tests perform basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined inputs and
expected results.

6.2 INTEGRATION TESTING

Software integration testing is the incremental integration testing of two or more


integrated software components on a single platform to produce failures caused by interface
defects. The task of the integration test is to check that components or software applications,

24
e.g. components in a software system or one step up software applications at the company
level interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

6.3 VALIDATION TESTING

At the end of the IT, software is completely assembled as a package, interfacing errors have
been uncovered and corrected and final series of software validation testing begins. Validation
testing can be defined in any way, but a simple definition is that validation succeeds when the
software function in a manner that can be reasonably accepted by the user. Software validation
is achieved through a series of black box tests that demonstrate conformity with requirements.
After validation that has been completed, one of the following two possible conditions exists:

The function or performance characteristics confirm to specification and are accepted.


A deviation from specification is uncovered and a deficiency test is created.

Deviation /errors discovered at this step in this project is corrected prior to the completion
of the project is the help of the users by negotiating to establish a method of resolving
efficiencies. Thus, the proposed system under consideration has been tested by using validation
testing and found to be working satisfactory.

6.4 OUTPUT TESTING

After performing validation testing the next step is to perform the output testing of the
proposed system. Since no system could be useful it does not reduce the required output in the
specified format. The output generated are displayed by the system under consideration are
tested by the company with the format required by the user. Here the output format is
considered in two ways.

One is on screen and the others are the printed format. The output format on the screen is
found to be correct as the system design phase are to the user needs for the hard copy also, the
output comes out as specified requirements by the user hence, the output testing does not result
in any correction in the system.

6.5 ACCEPTANCE TESTING

User acceptance of a system is a key factor to the success of any system. The system under
consideration was tested for the user accepted by constantly keeping in touch with prospected
system user at a time of developing and making changes wherever required. This is done with
regard to the following points:

25
Input screen design
Output screen design
Online message to guide the user
Format of the reports and other output.

6.6 BLACK BOX TESTING

Knowing the specified function that a product has been designed to perform, test can be
conducted that each function is fully operational. Black box test are carried out to test that input
to a function is properly accepted and output is correctly produced. A black box test examines
some aspects of the system, some aspects of a system with little regards for the internal
structure of the software.Errors in the following categories are found through black box testing.

Incorrect or mixing function


Interface errors
Errors in database structure /external database access
Performance errors
Initialization and termination errors

6.7 WHITE BOX TESTING

White box testing of software is predicted on a close examination of procedural details. The
status of the project may be tested at various points to determine whether the expected or
asserted status is corresponding to the actual status. Using this, the following test cases can be
derived:

Exercise all logical condition on their true and false side


Execute all loops within their boundaries and their operation bounds
Exercise internal data structure to ensure their validity.

26
SYSTEM IMPLEMENTATION

7.1 Implementation planning

This section describes about the Implementation of the safe application and the details
of how to access this control from any application.

Implementation is the process of assuring that the information system is operational and
then allowing users take over its operation for use and evaluation. Implementation includes
the following activities.

Obtaining and installing the system hardware.


Installing the system and making it run on its intended hardware.
Providing user access to the system.
Creating and updating the database.
Documenting the system for its users and for those who will be responsible for
maintaining it in the future.
Making arrangements to support the users as the system is used.
Transferring ongoing responsibility for the system from its developers to the operations
or maintenance part.
Evaluating the operation and use of the system.

7.1.1 Implementation phase in this project

The new system of M Player application has been implemented. The present system has
been integrated with the already existing hardware. The database was put into the Microsoft
SQL server. This was connected by ADO.Net. The database is accessible through internet on
any geographic location. Documentation is provided well in such a way that it is useful for
users and maintainers.

7.2 Maintenance

Maintenance is any work done to change the system after it is in operational. The term
maintenance is used to describe activities that occur following the delivery of the product to
the customer. The maintenance phase of the software life cycle is the time period in which a
software product performs useful work.

27
Maintenance activities involve making enhancements to products, adapting products to
new environments, correcting problems.

In this be retrieve the data from the database design by searching the database. So, for
maintaining data our project has a backup facility so that there is an additional copy of data,
which needs to be maintained.

More over this project would update the annual data on to a CD, which could be used
for later reference.

28
CONCLUSION AND FUTURE ENHANCEMENTS

8.1 CONCLUSION

The project titled as M Player is a music application. . Additional modules can be


easily added when necessary. The application is developed with modular approach. All modules
in the system have been tested with valid data and invalid data and everything work
successfully. Thus the system has fulfilled all the objectives identified and is able to replace the
existing system.

The project has been completed successfully with the maximum satisfaction of the
organization. The constraints are met and overcome successfully. The system is designed as like
it was decided in the design phase. The project gives good idea on developing a full-fledged
application satisfying the user requirements. The system is very flexible and versatile. This
software has a user-friendly screen that enables the user to use without any inconvenience.
Validation checks induced have greatly reduced errors. Provisions have been made to upgrade
the application. The application has been tested with live data and has provided a successful
result. Hence the software has proved to work efficiently.

8.2 FUTURE ENHANCEMENT

The project entitled M Player was successfully designed developed and tested. The
system and the architecture is a compatible one, so addition of new modules can be done
without much difficulty. Since this module has its unique properties it can extend further to
make this system a complete one.

29
APPENDIX

9.1 SOURCE CODE

MP3_LOADER.cs

Rusing System;
using System.Collections.Generic;
using System.IO;

namespace MPLAYER
{
public class mp3_loader
{

public List<SomeDatax> data = new List<SomeDatax>();


public List<SomeDatax> dataa = new List<SomeDatax>();
public List<SomeDataxy> datax = new List<SomeDataxy>();
string drive_name, directorypath, search_val;
DirectoryInfo dinf;

public void listing(string search_val_param)


{
search_val = search_val_param;
dataa.Clear();
foreach (var drive in DriveInfo.GetDrives())
{
drive_name = drive.Name;
if (drive_name == "C:\\") continue;
else
{
directorypath = drive_name;
dinf = new DirectoryInfo(directorypath);

30
WalkDirectoryTree(dinf);
}
}
}

void WalkDirectoryTree(System.IO.DirectoryInfo root)


{
System.IO.FileInfo[] files = null;
System.IO.DirectoryInfo[] subDirs = null;
try
{
files = root.GetFiles("*.mp3");
}
catch (UnauthorizedAccessException e)
{
Console.Write(e.Message);
}
catch (System.IO.DirectoryNotFoundException e)
{
Console.Write(e.Message);
}
catch (System.IO.IOException e)
{
Console.Write(e.Message);
}
if (files != null)
{
foreach (System.IO.FileInfo fi in files)
{
if (search_val == "n_arg")
{
data.Add(new SomeDatax() { Value = fi.FullName, Text = fi.Name });
}
else
{
if (fi.Name.Trim() == search_val.Trim() + ".mp3")
{
datax.Add(new SomeDataxy() { Value = fi.FullName, Text = fi.Name });
}
}

31
dataa.Add(new SomeDatax() { Value = fi.FullName, Text = fi.Name });
}
subDirs = root.GetDirectories();
foreach (System.IO.DirectoryInfo dirInfo in subDirs)
WalkDirectoryTree(dirInfo);
}
}

public class SomeDatax


{
public string Value { get; set; }
public string Text { get; set; }
}

public class SomeDataxy


{
public string Value { get; set; }
public string Text { get; set; }
}

MAIN_FRM.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WMPLib;
using System.IO;
using System.Resources;
using System.Threading;

32
namespace MPLAYER
{
public partial class main_frm : Form
{

public List<SomeData> fav = new List<SomeData>();


public mp3_loader mload = new mp3_loader();
public WindowsMediaPlayer pl = new WindowsMediaPlayer();
public string qry = "";
public int pla = 1, pau = 0, duration, cvol = 25, flag = 0, firstch = 0;
public db_connect con;

private void favor_btn_Click(object sender, EventArgs e) { con.Ins_Up_Del("insert into


tbl_music (m_name,m_location) values ('" + (music_list.SelectedItem as SomeDatax).Text + "','"
+ (music_list.SelectedItem as SomeDatax).Value + "')"); }

private void allmusic_Click(object sender, EventArgs e) { favor_btn.Enabled = true;


bt_remove.Visible = false; firstch = 0; clear_list(); music_list.DisplayMember = "Text";
music_list.DataSource = mload.dataa; }

public void all_display() { mload.listing("n_arg"); music_list.DisplayMember = "Text";


music_list.DataSource = mload.data; }

private void textBox1_Leave(object sender, EventArgs e)


{ if (textBox1.Text.Trim() == "") textBox1.Text = "search music"; }

private void scroll_track(object sender, EventArgs e) { pl.controls.currentPosition =


(trackBar1.Value / 100); }

public void message_alert() { MessageBox.Show("Please wait a moment while updating


library !", "MPLAYER"); }

public class SomeData { public string Value { get; set; } public string Text { get; set; } }

public void clear_list() { mload.data.Clear(); music_list.DataSource = null; fav.Clear(); }

private void textBox1_Click(object sender, EventArgs e) { textBox1.Text = ""; }

private void exitapp_Click(object sender, EventArgs e) { Application.Exit(); }

33
public main_frm()
{

InitializeComponent();
label1.Text = "Volume : " + trackBar2.Value + "%";
con = new db_connect();
mload.listing("n_arg");
music_list.DisplayMember = "Text";
music_list.DataSource = mload.dataa;

public void current_play()


{

if ((music_list.SelectedItem as SomeDatax) != null) pl.URL = (music_list.SelectedItem


as SomeDatax).Value;
else if ((music_list.SelectedItem as SomeDataxy) != null) pl.URL =
(music_list.SelectedItem as SomeDataxy).Value;
else pl.URL = (music_list.SelectedItem as SomeData).Value;

string formatter(string secs)


{

int totalSeconds = Convert.ToInt32(secs);


int seconds = totalSeconds % 60;
int minutes = totalSeconds / 60;
string time = minutes + ":" + seconds;
return time;

private void prev_btn_Click(object sender, EventArgs e)


{

if (music_list.SelectedIndex != 0) music_list.SelectedIndex = music_list.SelectedIndex -


1;
else music_list.SetSelected(music_list.Items.Count - 1, true);

34
current_play();

private void next_btn_Click(object sender, EventArgs e)


{

if (music_list.SelectedIndex < music_list.Items.Count - 1) music_list.SelectedIndex =


music_list.SelectedIndex + 1;
else music_list.SetSelected(0, true);
current_play();

private void trackBar2_Scroll(object sender, EventArgs e)


{

if (cvol > trackBar2.Value) volume_cntrl.VolumeDown();


else if (cvol < trackBar2.Value) volume_cntrl.VolumeUp();
else if (trackBar2.Value == 0) volume_cntrl.Mute();
cvol = trackBar2.Value;
label1.Text = "Volume : " + cvol + "%";

private void button1_Click(object sender, EventArgs e)


{

favor_btn.Enabled = true;
bt_remove.Enabled = false;
firstch = 0;
clear_list();
if (textBox1.Text.Trim() != "")
{
mload.listing(textBox1.Text.Trim());
music_list.DisplayMember = "Text";
music_list.DataSource = mload.datax;
}

35
private void lib_update_Click(object sender, EventArgs e)
{

favor_btn.Enabled = true;
bt_remove.Visible = false;
firstch = 0;
Thread thread = new Thread(new ThreadStart(message_alert));
thread.Start();
clear_list();
all_display();

private void favorites_Click(object sender, EventArgs e)


{

favor_btn.Enabled = false;
bt_remove.Visible = true;
firstch = 0;
flag = 0;
clear_list();
qry = "select * from tbl_music";
DataTable dt = con.getdatatable(qry);
while (flag < dt.Rows.Count)
{
if (!File.Exists(dt.Rows[flag]["m_location"].ToString()))
{
qry = "delete from tbl_music where CONVERT(VARCHAR(200), m_location)='" +
dt.Rows[flag]["m_location"].ToString() + "'";
con.Ins_Up_Del(qry);
}
else
fav.Add(new SomeData() { Value = dt.Rows[flag]["m_location"].ToString(), Text =
dt.Rows[flag]["m_name"].ToString() });
++flag;
}
music_list.DisplayMember = "Text";
music_list.DataSource = fav;

36
}

private void play_pause_Click(object sender, EventArgs e)


{

stop_bt.Enabled = true;
if (pla == 1)
{
if (pau == 1) pl.controls.play();
else current_play();
play_pause.BackgroundImage = MPLAYER.Properties.Resources.pause;
pla = 0;
timer1.Enabled = true;
}
else
{
play_pause.BackgroundImage = MPLAYER.Properties.Resources.play;
pl.controls.pause();
pau = 1;
pla = 1;
}
firstch = 1;

private void changed_list(object sender, EventArgs e)


{

if (firstch != 0)
{
pla = 0;
pau = 1;
play_pause.BackgroundImage = MPLAYER.Properties.Resources.pause;
current_play();
}

private void timer1_Tick(object sender, EventArgs e)


{

37
duration = Convert.ToInt32(Math.Ceiling(pl.currentMedia.duration));
label3.Text = formatter(duration.ToString());
trackBar1.Maximum = duration * 100;
trackBar1.Value = Convert.ToInt32(pl.controls.currentPosition) * 100;
label2.Text = formatter(Convert.ToInt32(pl.controls.currentPosition).ToString());
if ((trackBar1.Maximum == trackBar1.Value) && (duration != 0))
{
if (music_list.SelectedIndex < music_list.Items.Count - 1) music_list.SelectedIndex =
music_list.SelectedIndex + 1;
else music_list.SetSelected(0, true);
current_play();
}
}

private void stop_bt_Click(object sender, EventArgs e)


{

firstch = 0;
pla = 1;
pau = 0;
pl.controls.stop();
play_pause.BackgroundImage = MPLAYER.Properties.Resources.play;

private void bt_remove_Click(object sender, EventArgs e)


{

if (pl.URL == (music_list.SelectedItem as SomeData).Value) MessageBox.Show("Can't


remove this item at this moment !", "WARNING !");
else
{
con.Ins_Up_Del("delete from tbl_music where CONVERT(VARCHAR(200),
m_location)='" + (music_list.SelectedItem as SomeData).Value + "'");
favorites.PerformClick();
}

38
}
}

VOLUME_CNTRL.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace MPLAYER
{
class volume_cntrl
{

private const byte VK_VOLUME_MUTE = 0xAD;


private const byte VK_VOLUME_DOWN = 0xAE;
private const byte VK_VOLUME_UP = 0xAF;
private const UInt32 KEYEVENTF_EXTENDEDKEY = 0x0001;
private const UInt32 KEYEVENTF_KEYUP = 0x0002;

[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, UInt32 dwFlags, UInt32
dwExtraInfo);

[DllImport("user32.dll")]
static extern Byte MapVirtualKey(UInt32 uCode, UInt32 uMapType);

public static void VolumeUp()


{
keybd_event(VK_VOLUME_UP, MapVirtualKey(VK_VOLUME_UP, 0),
KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_VOLUME_UP, MapVirtualKey(VK_VOLUME_UP, 0),
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}

public static void VolumeDown()


{

39
keybd_event(VK_VOLUME_DOWN, MapVirtualKey(VK_VOLUME_DOWN, 0),
KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_VOLUME_DOWN, MapVirtualKey(VK_VOLUME_DOWN, 0),
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}

public static void Mute()


{
keybd_event(VK_VOLUME_MUTE, MapVirtualKey(VK_VOLUME_MUTE, 0),
KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_VOLUME_MUTE, MapVirtualKey(VK_VOLUME_MUTE, 0),
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}

}
}

DB_CONNECT.cs

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace MPLAYER
{
public class db_connect
{

SqlConnection con;
SqlCommand cmd;
SqlDataAdapter da;

public db_connect()
{

con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial


Catalog=db_mplayer;Integrated Security=True");

40
}
public int Ins_Up_Del(String query)
{

if (con.State == ConnectionState.Open) con.Close();


cmd = new SqlCommand(query, con);
con.Open();
int c = cmd.ExecuteNonQuery();
con.Close();
return c;

public DataTable getdatatable(string query)


{

if (con.State == ConnectionState.Open) con.Close();


con.Open();
DataTable dt = new DataTable();
da = new SqlDataAdapter(query, con);
da.Fill(dt);
con.Close();
return dt;

} } }

41
9.2 SCREENSHOTS

SCREENSHOTS - MAIN INTERFACE

SCREENSHOTS LIST ALL MUSIC

ALL MUSIC(MENU) - LISTS ALL .MP3 FILES STORED IN THE SYSTEM

42
SCREENSHOTS FAVOURITE

Favourites (Menu) List all the favourite music files

SCREENSHOTS LIBRARY UPDATE

LIBRARY UPDATE REFRESH THE MUSIC LIST AND SEARCH FOR NEW
MUSIC FILES ADDED RECENT

43
SCREENSHOTS TRACK SEEK

Track Seek Used to seek the music to any position using seeker control

SCREENSHOTS ADD TO FAVOURITE

Add To Favourite Button It Adds Music Files Into A Dedicated List Called
Favourites

44
SCREENSHOTS PREVIOUS/NEXT

Next/Previous Plays The Previous Or Next Songs In The Music List

SCREENSHOTS STOP

Stop Button Used To Stop The Playing Music

45
SCREENSHOTS VOLUME SEEKERVOLUME SEEKER USED TO CHANGE THE
VOLUME WITH THE HELP OF SEEKER CONTROL

SCREENSHOTS SEARCH

SEARCH USED TO SEARCH FOR MUSIC FILES IN THE MUSIC LIST

46
SCREENSHOTS EXIT

EXIT(MENU) TO EXIT OUT OF THE APPLICATION

47
REFERENCES

BOOKS

Stephen Walther C#.NET UNLEASHED,SAMS,USA:2007


Ray Rankins, Alex T. Silverstine MICROSOFT SQL SERVER 2008
o UNLEASHED,SAMS,USA:2007
SYSTEM ANALYSIS AND DESIGN by Kendall, Pearson Education,2006
A Programmer's Introduction to C#, 2nd edition (Apress) - Eric Gunnerson
C# in Depth - Jon Skeet
Designing Microsoft ASP.NET Applications (Microsoft Press) - Jonathon Goodyear,
Brian Peek, Brad Fox
Microsoft ASP.NET Step by Step (Microsoft Press) - G. Andrew Duthrie
Deploying and Managing Microsoft .NET Web Farms (Sams) - Barry Bloom
C# Yellow Book 2012 - Rob Miles

WEB SITES

https://www.tutorialspoint.com/asp.net/
https://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx
https://www.w3schools.com/asp/webpages_intro.asp
http://asp.net-tutorials.com/

48

Vous aimerez peut-être aussi