Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Objective-C

Войти
Регистрация
Восстановить пароль
 
13Ori31
1 / 1 / 0
Регистрация: 11.03.2013
Сообщений: 43
#1

NSTask(Input, Output) - Objective-C

25.03.2013, 13:11. Просмотров 798. Ответов 2
Метки нет (Все метки)

привет.

в приложение использую NSTask для запуска и управления проигрывателем mplayer(он запускается в режиме -slave).

-(void)qwer:videoPath{ //запускает воспроизивдение видео "videoPath"
NSArray *mplayerArg=[[NSArray alloc]initWithObjects:@"-geometry",xyTranslocationMplayerTask,
@"-quiet", @"-slave", @"-fs", videoPath,nil];

NSString *mplayerPath=[[NSBundle mainBundle] pathForResource:@"mplayer" ofType:nil inDirectory:@"binaries/x86_64"];
mplayerTask=[[NSTask alloc]init];

[mplayerTask setArguments:mplayerArg]; [mplayerTask setLaunchPath:mplayerPath];
[mplayerTask setStandardInput:[NSPipe pipe]]; [mplayerTask setStandardOutput:[NSPipe pipe]];

[mplayerTask launch];
......здесь таймером через секунд "n" вызывается метод "qwer"
}

qwer{
if ([mplayerTask isRunning]){
NSString *inpLength= [[NSString alloc]initWithFormat:@"get_time_length\n"];//команда mplayer на возврат времени видио сек
NSData *inpLengthData=[inpLength dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:NO];

[[[mplayerTask standardInput] fileHandleForWriting] writeData:inpLengthData];//посылка команды по входу mplayer

поидее дальше mplayer посылает мне ответ по выходу, я его читаю двумя строчками кода, одной он что то не получает
secData = [[[mplayerTask standardOutput] fileHandleForReading] availableData];
secData = [[[mplayerTask standardOutput] fileHandleForReading] availableData];

NSString *outLength = [[NSString alloc] initWithData:secData encoding:NSUTF8StringEncoding];

потом я из строки текста("фыааыфаы = 230.22") выделяю время
NSArray *part = [outLength componentsSeparatedByString:@"="];

дальше таймер где время - n ( где n время первого таймера ) таймер вызовет следующий метод, который делает действия(release ну и всякие) и повторно запускает 1 метод с нужным видео
[NSTimer scheduledTimerWithTimeInterval:[[part objectAtIndex:1]doubleValue]-n
target:self
selector:@selector(XXX)
userInfo:nil
repeats:NO];
}

}


вот, а проблема в том что вот эти вот две строки 1)шаманство))
secData = [[[mplayerTask standardOutput] fileHandleForReading] availableData];
secData = [[[mplayerTask standardOutput] fileHandleForReading] availableData];
2)при входе в этот круговорот видио, после первого раза, начинает глючить(не получать данные от mplayer, виснет все приложение)

прошу помочь разобраться, если можно пример отсылки и принятия.

спасибо

Добавлено через 2 часа 35 минут
код делает все что написано в предыдущем посте, но все же я его баюсь)) если кто увидит что нибуть не хорошее прошу укажите на это)))
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 13:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос NSTask(Input, Output) (Objective-C):

input,output - Free Pascal
Кто знает, помогите )))

INPUT и OUTPUT из файла - QBasic
Здравствуйте. Есть файл инпут.txt: 10 5 6 7 Как сделать, чтобы программа из инпут.txt брала в переменные/массивые 10, 5, 6, 7? ...

Input/output в swift - Swift
Начал изучать swift и столкнулся с проблемой ввода значений с клавиатуры. Много чего облазил, но решение нашёл пока только одно, описать...

Проблема с Input/Output - Java Сети
Добрый день! Проблема в следующем: После соединения клиента с сервером, оба из своих сокетов берут входные и выходные потоки и...

Пустые INPUT и OUTPUT - C++
Задача: Напечатать текст из файла, подчёркивая (ставя минусы в соответствующих позициях следующей строки) все входящие в него заглавные...

Нагрузка, Input/Output Usage - Хостинг
Подскажите, пожалуйста, как можно уменьшить нагрузку на хостинг, конкретно на параметр I/O? И что именно влияет на рост этого параметра? ...

2
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
25.03.2013, 22:41 #2
Цитата Сообщение от 13Ori31 Посмотреть сообщение
код делает все что написано в предыдущем посте, но все же я его баюсь
ЭтаПять!!!
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
26.03.2013, 12:20 #3
Цитата Сообщение от mobidevelop Посмотреть сообщение
ЭтаПять!!!
Я вот вообще не смог тот пост полностью осилить... Написано жестко очень.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 12:20
Привет! Вот еще темы с ответами:

Python 3 utf-8 input/output (unix) - Python
Здравствуйте! Столкнулся с странной особеностю в Python 3, вроде как по книжке делаю все правильно, а на практике выходить совсем...

Драйвет Input-Output для USB - Программирование драйверов
Подскажите, пожалуйста, есть ли универсальный драйвер для простого доступа к регистру USB порта. Если нет, расскажите то с чего начать,...

Где найти блоки Input и Output Point? - Matlab
Скажите пожалуйста, где в матлабе найти блоки Input и Output Point. Нашла в инете, что нужно открыть в Tools вкладку Linear Analysis, и там...

Input/output error во время установки Mint - Ubuntu Linux
Добрый день! Недавно приобрел себе нетбук (2х1.66ГГц, 1Гб ОЗУ DDR3), на нем стоял лагучий XP, решил ради интереса поставить Ubuntu Mate. Во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru